Ex12-주소의 가감산 (int)

CODEDRAGON Development/C, C++

반응형

   

주소의 가감산

int형 변수, int형 1차원 포인터, int형 2차원 포인터의 주소 가산

   

   

소스코드

   

#include <stdio.h>

int main( ) {
                int num=10;
                int* ip=NULL;
                int** ipp=NULL;

                ip=&num;
                ipp=&ip;

                printf("%x %x %x \n", &num, &ip, &ipp);
                printf("%x %x %x \n", &num+1, &ip+1, &ipp+1);
                //&num+1        : int
(4byte)만큼 1증가
                //&ip+1         : 1
차원 포인터형(4byte)만큼 1증가
                //&ipp+1        : 2
차원 포인터형(4byte)만큼 1증가

                printf("%d %x %x \n", num, ip, ipp);
                printf("%d %x %x \n", num+1, ip+1, ipp+1);
                //num+1         : num
10 저장되어 있어서 저장된 값에 1 더한 11 출력
                //ip+1          : ip
&num 저장되어 있어서 &num+1 같은 표현이 되어 &num int(4byte)만큼 증가한 값을 출력
                //ipp+1         : ipp
&ip 저장되어 있어서 &ip+1 같은 표현이 되어 &ip 1차원 포인터형(4byte)만큼 증가한 값을 출력


                return 0;
}


   

   

출력결과