Tech Stack/C, C#
C ์ธ์ด ํฌ์ธํฐ ๊ฐ๋
_silver
2025. 4. 16. 22:28
| ๊ธฐํธ/ํํ | ์๋ฏธ | ์์ ๊ฐ |
| n | ๋ณ์์ ๊ฐ | 10 |
| &n | ๋ณ์ n์ ์ฃผ์ | ์: 0x100 |
| p | ํฌ์ธํฐ ๋ณ์ ์์ฒด(์ฃผ์ ์ ์ฅ ๋ณ์) | &n == ์: 0x100 |
| *p | ํฌ์ธํฐ p๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ | 10 |
| *&p | p๋ฅผ ์ญ์ฐธ์กฐํ ํ ๋ค์ ์ฐธ์กฐ -> ์๋ p ๊ฐ | p == ์: 0x100 |
| *(&n) | n์ ์ฃผ์๋ฅผ ์ญ์ฐธ์กฐํ ๊ฒ -> n์ ๊ฐ | 10 |
| *ptr | ptr์ด ๊ฐ๋ฆฌํค๋ ์์น์ ๊ฐ [์์ ์ฝ๋ ์ฐธ๊ณ ] | ์: 0x100 |
| *&ptr | ptr๋ฅผ ์ญ์ฐธ์กฐํ๊ณ ๋ค์ ์ฐธ์กฐํ ๊ฒ → ์๋ ptr [์์ ์ฝ๋ ์ฐธ๊ณ ] | ์: 0x100 |
โ๏ธ ์์ ์ฝ๋ - ํฌ์ธํฐ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ฆฌ
๋๋ณด๊ธฐ
#include <stdio.h>
int main(void) {
int x = 10; // ๋ณ์ x ์ ์ธ, ๊ฐ์ 10
int* ptr = &x; // ํฌ์ธํฐ ptr์ x์ ์ฃผ์๋ฅผ ์ ์ฅ
printf("1. x์ ๊ฐ: %d\n", x); // 10
printf("2. &x (x์ ์ฃผ์): %p\n", &x); // ์: 0x100
printf("3. ptr (์ ์ฅ๋ ์ฃผ์): %p\n", ptr); // &x์ ๊ฐ์
printf("4. *ptr (๊ฐ๋ฆฌํค๋ ๊ฐ): %d\n", *ptr); // 10
printf("5. *&x: %d\n", *&x); // 10 (x์ ์ฃผ์๋ฅผ ์ญ์ฐธ์กฐํ ๊ฒ)
printf("6. *&ptr: %p\n", *&ptr); // ptr์ ๊ฐ (x์ ์ฃผ์)
return 0;
}
โ ์ถ๋ ฅ ์์
1. x์ ๊ฐ: 10
2. &x (x์ ์ฃผ์): 0x100
3. ptr (์ ์ฅ๋ ์ฃผ์): 0x100
4. *ptr (๊ฐ๋ฆฌํค๋ ๊ฐ): 10
5. *&x: 10
6. *&ptr: 0x100