ํฌ์ธํ„ฐ์˜ ๋‹ค์–‘ํ•œ ํ‘œํ˜„

C์–ธ์–ด์˜ ํฌ์ธํ„ฐ๋ฅผ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋‹ค์†Œ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ํ•˜๋‚˜์˜ ์›์ธ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‹ค์–‘ํ•œ ํ‘œํ˜„๋ฒ• ๋•Œ๋ฌธ์ด๋‹ค. ํŠนํžˆ, ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๋Š” ๋•Œ๋กœ๋Š” ํ˜ผ๋ž€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ ๋ช‡ ๊ฐ€์ง€ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณธ๋‹ค.

โญ 1. ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ฃผ์†Œ

int A[10];
  • ํ‘œํ˜„๋ฒ• 1: Aโ€‹
    • ๋ฐฐ์—ด์˜ ์ด๋ฆ„๋งŒ ์‚ฌ์šฉํ•˜๋ฉด, ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ํ‘œํ˜„๋ฒ• 2: &A[0]
    • ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

โญ 2. ํ•จ์ˆ˜ ํฌ์ธํ„ฐ

int func(int x) {
  return x * 2;
}
  • ํ‘œํ˜„๋ฒ• 1: โ€‹func
    • ํ•จ์ˆ˜ ์ด๋ฆ„๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํ•จ์ˆ˜์˜ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ํ‘œํ˜„๋ฒ• 2: &func
    • ํ•จ์ˆ˜์˜ ์ฃผ์†Œ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜ ์ด๋ฆ„ ์•ž์— &๋ฅผ ๋ถ™์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

โญ 3. ๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„์˜ ์ฃผ์†Œ

struct MyStruct {
  int x;
};

struct MyStruct *ptr = &myStruct;
  • ํ‘œํ˜„๋ฒ• 1: (*ptr).x
    • ๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„ x์˜ ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ํ‘œํ˜„๋ฒ• 2: ptr->x
    • ๊ตฌ์กฐ์ฒด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ int *๋กœ ์บ์ŠคํŒ…ํ•˜์—ฌ, ์ฒซ ๋ฒˆ์งธ ๋ฉค๋ฒ„ x์˜ ์ฃผ์†Œ๋ฅผ ์–ป๋Š”๋‹ค. ์ด๋Š” ๊ตฌ์กฐ์ฒด๊ฐ€ x๋กœ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ ์œ ํšจํ•˜๋‹ค.

โญ 4. ํฌ์ธํ„ฐ๋ฅผ ํ†ตํ•œ ๋ฐฐ์—ด ์ ‘๊ทผ

int arr[3] = {10, 20, 30};
int *ptr = arr;
  • ํ‘œํ˜„๋ฒ• 1: ptr[0]
    • ํฌ์ธํ„ฐ๋ฅผ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์— ์ ‘๊ทผํ•œ๋‹ค.
  • ํ‘œํ˜„๋ฒ• 2: *ptrโ€‹
    • ํฌ์ธํ„ฐ๋ฅผ ์—ญ์ฐธ์กฐํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’์„ ์–ป๋Š”๋‹ค.

โญ 5. ๋ฌธ์ž์—ด๊ณผ ํฌ์ธํ„ฐ

char *str = "Hello";
  • ํ‘œํ˜„๋ฒ• 1: str
    • ํฌ์ธํ„ฐ ๋ณ€์ˆ˜ str์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์˜ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ํ‘œํ˜„๋ฒ• 2: &str[0]
    • ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์˜ ์ฃผ์†Œ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.


์ด๋Ÿฌํ•œ ์˜ˆ์‹œ๋“ค์€ C์–ธ์–ด์—์„œ ํฌ์ธํ„ฐ์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ํ‘œํ˜„๋ฒ•๋“ค์ด ์–ด๋–ป๊ฒŒ ์œ ์‚ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ํฌ์ธํ„ฐ๋Š” ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ๊ทธ ์‚ฌ์šฉ๋ฒ•์„ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
18์ง„์ˆ˜