GiantStepDEV
#include <stdio.h>

int main() {
    int a;
    a = 20;

    printf("&a = %x\n", &a);

    int* pa;   // ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๋•Œ ์‚ฌ์šฉํ•œ *(์—์Šคํ„ฐ๋ฆฌ์Šคํฌ)๋Š” ํฌ์ธํ„ฐ ํ˜•์ง€์ •์ž
    pa = &a;

    int** ppa;
    ppa = &pa;

    // *&a(a์˜ ์ฃผ์†Œ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„) == a
    **ppa;   // ์ฃผ์†Œ๊ฐ’์— ์‚ฌ์šฉํ•œ *(์—์Šคํ„ฐ๋ฆฌ์Šคํฌ)๋Š” ํฌ์ธํ„ฐ ์—ฐ์‚ฐ์ž์ž…๋‹ˆ๋‹ค.
    **&pa;
    *pa;
    *&a;
    a;

    printf("&**ppa = %p, &**&pa = %p, &*pa = %p, &*&a = %p, &a = %p\n"
        , &**ppa, &**&pa, &*pa, &*&a, &a);

    printf("**ppa = %d, **&pa = %d, *pa = %d, *&a = %d, a= %d\n"
        , **ppa, **&pa, *pa, *&a, a);

    **ppa = 1000;
    printf("**ppa = %d, **&pa = %d, *pa = %d, *&a = %d, a= %d\n"
        , **ppa, **&pa, *pa, *&a, a);


    return 0;
}

int a = 20; // intํ˜• ๋ณ€์ˆ˜ a์— 20์„ ๋‹ด์Œ

&a // ๋ณ€์ˆ˜ a์˜ ์ฃผ์†Œ๊ฐ’

int* pa = &a; // ๋ณ€์ˆ˜ a์˜ ์ฃผ์†Œ๊ฐ’์„ int*ํ˜• ๋ณ€์ˆ˜ pa์— ๋‹ด์Œ

 

*pa์€ ๋ณ€์ˆ˜ pa์˜ ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„

์ฆ‰, ๋ณ€์ˆ˜ pa๋Š” a์˜ ์ฃผ์†Œ๊ฐ’(&a) ์ด๋ฏ€๋กœ a์˜ ์ฃผ์†Œ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์ด๋ผ๋Š” ์˜๋ฏธ์™€ ๊ฐ™๋‹ค.

a์˜ ์ฃผ์†Œ๊ฐ’์„ ๋‹ด๊ณ ์žˆ๋Š” ๊ณต๊ฐ„์€ a

 

ํ•ด์„œ ํ•ด๋‹น ์‹์„ ์ถœ๋ ฅํ•˜๋ฉด ์ฃผ์†Œ๊ฐ’๊ณผ ๊ฐ’ ๋ชจ๋‘ ๋™์ผํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค...

profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!