๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programming/C language

12 Pointer

by Dowon Kang 2024. 1. 24.

ํฌ์ธํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜๋กœ, ํ•ด๋‹น ์ฃผ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” 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

๋Œ“๊ธ€