Ex09-3차원 포인터

CODEDRAGON Development/C, C++

반응형

   

3차원 포인터

   

   

메모리 구조

   

   

   

소스코드

   

#include <stdio.h>

int main( ) {
                int num=10;
                int* ip1=NULL;          // 1
차원 포인터 변수 선언
                int** ip2=NULL;         // 2
차원 포인터 변수 선언
                int*** ip3=NULL;        // 3
차원 포인터 변수 선언

                ip1=&num;
                ip2=&ip1;
                ip3=&ip2;

                printf("%d %d %d %d \n", num, *ip1, **ip2, ***ip3);     //
모두 10 출력
                printf("%x %x %x %x \n", &num, ip1, *ip2, **ip3);       //
모두 num 주소(&num) 출력
                printf("%x %x %x \n", &ip1, ip2, *ip3);                         //
모두 ip1 주소(&ip1) 출력
                printf("%x %x \n", &ip2, ip3);                                          //
모두 ip2 주소(&ip2) 출력

//
포인터변수 크기 출력
                printf("%d %d \n", sizeof(int), sizeof(int*));                  //
모두 4바이트 크기 출력
                printf("%d %d\n", sizeof(int**), sizeof(int***));               //
모두 4바이트 크기 출력

                printf("%d %d \n", sizeof(num), sizeof(ip1));                   //
모두 4바이트 크기 출력
                printf("%d %d\n", sizeof(ip2), sizeof(ip3));                    //
모두 4바이트 크기 출력

                return 0;
}


   

   

출력결과