반응형
포인터 (pointer)
: 메모리의 주소값을 저장하는 변수, 포인터 변수
- 포인터 변수는 주소값을 저장하고 주소값은 모두 정수로 저장
예제1
int main(void) {
int i = 10;
int *p;
p = &i;
printf("%u - %d\n", &i, i);
printf("%u - %u - %d\n", &p, p, *p);
return 0;
}
예제2
포인터를 통한 값 변경
int main(void) {
int i = 10;
int *p;
p = &i;
printf("i = %d\n", i);
*p = 20; // 포인터를 통해 값을 변경
printf("i = %d\n", i);
return 0;
}
예제3
포인터 사용지 주의할 점
- 포인터 타입과 변수 타입이 일치해야 함
포인터 타입은 저장하는 내용이 아니고, 저장된 주소에 저장된 데이터 타입이다.
int main(void) {
int i;
double *pd;
pd = &i;
*pd = 36.5; // int형에 double형을 저장하려 해서 오류 발생 !
return 0;
}
반응형