본문 바로가기

PROGRAMMING LANGUAGE/C

18강 다중포인터

#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