Language/C, C++
[C] 포인터 변수
Phulasso
2020. 12. 16. 11:46
변수는 메모리 상에 저장되고, 포인터 변수는 메모리의 주소값을 저장하기 위한 변수이다.
#include <stdio.h>
int main(void)
{
int num = 9;
int *pNum; // 포인터 변수 pNum 선언
pNum = # // pNum에 num의 주소값 저장
printf("%d\n", pNum); // 메모리 주소 출력
printf("%d\n", *pNum); // 메모리 주소에 저장된 값 출력
*pNum = 20; // pNum이 가리키는 주소에 저장된 값을 20으로 변경
printf("%d\n", num);
return 0;
}
/* output :
6422296
9
20
*/
*으로 포인터 변수를 선언할 수 있고, &연산자는 피연산자의 주소값을 반환하는 연산자이다. &연산자의 피연산자는 변수여야 한다.
*연산자는 포인터가 가리키는 메모리 공간에 접근할 때 사용하는 연산자이다.
포인터 변수의 크기는 32비트 시스템에서는 주소값을 32비트로 표현하기에 4바이트이고, 64비트 시스템에선 주소값을 64비트로 표현하기 때문에 8바이트다.