포인터 이해하기


#include <stdio.h>

int main()
{
    int num_A=0, num_B=0;
    int *pnum_A;
    int *pnum_B;

    pnum_A = &num_A; //pnum_A는 num_A를 가르키고
    *pnum_A = 100; //그 값을 100으로 변경한다.
    printf("num_A : %d, *pnum_A %d\n", num_A, *pnum_A);

    pnum_B = &num_A; //pnum_B는 num_A를 가르키고
    *pnum_B = 200; //그 값을 200으로 변경한다. 따라서 num_A를 가르키는 pnum_A의 값도 200이 된다.
    printf("num_A : %d, *pnum_A : %d, *pnum_B : %d\n", num_A, *pnum_A, *pnum_B);

    pnum_B = &num_B; //pnum_B는 num_B를 가르키고
    *pnum_B = 300; //그 값을 300으로 변경한다.
    printf("num_A : %d, num_B : %d, *pnum_A : %d, *pnum_B : %d\n", num_A, num_B, *pnum_A, *pnum_B);

    pnum_A = &num_B; //pnum_A는 num_B를 가르키고
    *pnum_A = 400; //그 값을 400으로 변경한다. 따라서 num_B를 가르키는 pnum_B의 값도 400이 된다.
    printf("num_A : %d, num_B : %d, *pnum_A : %d, *pnum_B : %d\n", num_A, num_B, *pnum_A, *pnum_B);

    return 0;
}





'프로그래밍 > Daily Coding' 카테고리의 다른 글

데이터형 정의하기 (typedef)  (0) 2014.02.20
열거형 기본 형태  (0) 2014.02.19
공용체 사용  (0) 2014.02.10
구조체 사용  (0) 2014.02.05
NULL 문자  (0) 2014.02.05

+ Recent posts