Ex10-포인터 변수의 간접 접근을 통해 저장된 데이터를 변경하기

CODEDRAGON Development/C, C++

반응형

   

포인터 변수의 간접 접근을 통해 저장된 데이터를 변경하기

   

   

메모리 구조

int num=10;

// 1차원 포인터 변수 선언

int* ip1=NULL;

// 2차원 포인터 변수 선언

int** ip2=NULL;

// 3차원 포인터 변수 선언

int*** ip3=NULL; 

ip1=#

ip2=&ip1;

ip3=&ip2;

*ip1=20;

**ip2=30;

***ip3=40;

  

  

  

  

  

   

   

소스코드

   

#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 출력

                *ip1=20;
                printf("%d %d %d %d \n", num, *ip1, **ip2, ***ip3);     //
모두 20 출력

                **ip2=30;
                printf("%d %d %d %d \n", num, *ip1, **ip2, ***ip3);     //
모두 30 출력

                ***ip3=40;
                printf("%d %d %d %d \n", num, *ip1, **ip2, ***ip3);     //
모두 40 출력

                return 0;
}


   

   

출력결과

   

'Development > C, C++' 카테고리의 다른 글

Ex12-주소의 가감산 (int)  (0) 2015.08.26
Ex11-주소의 가감산 (char)  (0) 2015.08.23
Ex09-3차원 포인터  (0) 2015.08.18
Ex15-float형 오차 발생  (0) 2015.08.13
Ex08-2차원 포인터 변수 연습  (0) 2015.08.12