#include <stdio.h>
int main()
{
int data = 5;
int* p_data = &data;
int** pp_data = &p_data;
int*** ppp_data = &pp_data;
***ppp_data = 3;
printf("data = %d\n", data);
return 0;
}
int 타입 data 변수에 5를 대입하고 1단계 포인터 p_data에 data의 주소값을 대입한다.
2단계 포인터 pp_data에 p_data의 주소값을 대입한다.
3단계 포인터 ppp_data에 pp_data의 주소값을 대입한다.
***ppp_data = 3; 이 부분은 ppp_data를 3번 역참조하라는 코드이다. ppp_data가 가리키는 주소값으로 간 후에
pp_data -> p_data-> data 변수에 가서 변수의 값을 3으로 바꾸고 출력한다.
'PROGRAMMING LANGUAGE > C' 카테고리의 다른 글
20강 구조체 (0) | 2021.09.16 |
---|---|
19강 함수 포인터와 void 포인터 (0) | 2021.09.16 |
17-1 포인터 배열과 배열 포인터 (0) | 2021.09.16 |
17강 다차원 배열 (0) | 2021.09.16 |
16강 포인터의 사용법 (0) | 2021.09.15 |