ํฌ์ธํฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅํ๋ ๋ณ์๋ก, ํด๋น ์ฃผ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๋ฐ ์ฌ์ฉ๋๋ C ์ธ์ด์์ ๋งค์ฐ ๊ฐ๋ ฅํ๊ณ ์ค์ํ ๊ธฐ๋ฅ ์ค ํ๋์ ๋๋ค.
ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ง์ ์กฐ์ํ์ฌ ๋ค์ํ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํฌ์ธํฐ์ ์ฃผ์ ๊ฐ๋ ๊ณผ ํ์ฉ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Pointer level 1
#include <stdio.h>
int main() {
int a;
int *b;
a = 3;
printf("a = %d\n", a); // 3
printf("&a = %u\n", &a); // a address
b = &a;
printf("b = %u\n", b); // a address
*b = 5;
printf("*b = %d\n", *b); // 5
printf("a = %d\n", a); // 5
printf("&b = %u\n", &b); // b address
return 1;
}
Pointer level 2
#include <stdio.h>
int main() {
int a;
int * b;
int ** c;
a = 3;
printf("a = %d\n", a); // 3
printf("&a = %u\n", &a); // a address
b = &a;
printf("b = %u\n", b); // a address
*b = 5;
printf("*b = %u\n", *b); // 5
printf("&b = %u\n", &b); // b address
c = &b;
printf("*c = %u\n", *c); // a address
printf("**c = %u\n", **c); // 5
printf("&c = %u\n", &c); // c address
return 1;
}
'Programming > C language' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
14 Structure (๊ตฌ์กฐ์ฒด) (0) | 2024.01.25 |
---|---|
13 Array (0) | 2024.01.24 |
11 function (ํจ์) (0) | 2024.01.23 |
10 string (feat. random ํจ์) (0) | 2024.01.23 |
9 while & do-while (feat. break & continue) (1) | 2024.01.23 |
๋๊ธ