주소를 저장하는 변수
포인터 선언
int* pi; // int 변수를 가리킬 목적의 포인터 pi를 선언
float *pf; // float 변수를 가리킬 목적의 포인터 pf를 선언
여러 개의 포인터 변수 선언
char* p, q, r; // p는 char 타입의 포인터 변수, q와 r은 char 변수
char *p, *q, *r; // p, q, r 모두 char 타입의 포인터 변수
사용하기 전에 반드시 초기화 되어야 함!!
가로 • 세로 개념이 있는 자료를 컨트롤 할 때 사용
표현 | 자료형 | 동일한 표현 |
---|---|---|
10 | int (상수) | |
i | int | *p, *pp |
p | int* | *pp, &i |
pp | int** | &p |
p | 포인터 |
---|---|
*p | 포인터가 가리키는 값 |
*p++ | 가리키는 값을 가져온 다음, 포인터를 한 칸 증가시킴. |
*p— | 가리키는 값을 가져온 다음, 포인터를 한 칸 감소시킴. |
(*p)++ | 포인터가 가리키는 값을 증가시킴. |
int a; // 정수 변수 선언
int *p; // 정수 포인터 선언
int **pp; // 정수 포인터의 포인터(이중 포인터) 선언
p = &a; // 변수 a와 포인터 p를 연결
pp = &p; // 포인터 p와 포인터의 포인터(이중 포인터) pp를 연결