본문 바로가기
C언어/포인터

[C언어] 포인터 연산 (포인터에 1을 더하면?)

by bigpicture 2022. 7. 7.
반응형

아래 예시를 봅시다. 변수 var 을 정의하고, var 주소를 갖는 포인터 pvar을 정의했습니다. pvar에 1을 더한 pvar2 도 정의했습니다. var 과 pvar의 사이즈를 출력했고, pavr과 pavr2 의 주소를 출력했습니다. 

#include <stdio.h>

int main ()
{
    int var=1;
    int *pvar=&var;
    int *pvar2=pvar+1;
    
    printf("%ld \n",sizeof(var) );
    printf("%ld \n \n",sizeof(pvar) );
        
    printf("%p \n",pvar);
    printf("%p",pvar2);
    
}


결과는 아래와 같습니다. 

 

 

pvar 은 인트형인데도 길이가 8입니다. 이 길이는 운영체제에 의해 결정됩니다. 

 

주소가 출력된 것을 보면 1을 더했는데 4가 더해진 것을 알 수 있습니다. 인트형이라서 4만큼 이동됩니다. 

반응형

댓글