- thebaleuncoding
포인터 변수의 크기는 얼마일까?
변수는 메모리에 할당되고, 메모리에는 주소라는 개념이 있습니다.
일반 변수는 main 함수 안에 변수를 선언하면 메모리 안 스택에 공간을 할당하고 값을 지정합니다.
포인터 변수는 메모리 주소를 지정합니다.
포인터는 다른 변수의 메모리 주소를 갖고 있어야 일을 할 수 있습니다.
그 메모리 주소에 접근해서 값을 제어합니다.
#include <stdio.h>
int main(){
int* numPtr;// 포인터 변수 선언
int num1 =1;// int형 변수 선언 후 1 저장
numPtr =&num1;// 포인터 변수에 num1의 메모리 주소 저장
printf("%p\n", numPtr);// 00D7FBD0 : 포인터 변수 numPtr 값 출력
printf("%p\n",&num1);// 00D7FBD0 : 변수 num1의 메모리 주소 출력return0;
}

위의 코드를 32비트로 실행하면 다음과 같은 결과가 출력됩니다.
00D7FBD0
00D7FBD0

같은 코드를 64비트로 실행하면 다음과 같은 결과가 출력됩니다.
000000FC37CFF644
000000FC37CFF644
#포인터변수의크기는얼마일까?에 대해 더 알아보고 싶나요?
아래 링크로 이동하세요.