[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ž๋ฃŒ๊ตฌ์กฐ - ๊ตฌ์กฐ์ฒด

๊ตฌ์กฐ์ฒด

๊ตฌ์กฐ์ฒด๋Š” ๋ฐฐ์—ด๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์˜ ๋ณ€์ˆ˜๋“ค์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.

 

์šฉ๋„

์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋‚˜ ๊ทธ๋ž˜ํ”„์—์„œ ๋…ธ๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ, ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ ๋ถ€๋ถ„์ด ์กด์žฌํ•œ๋‹ค. ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ ๋ถ€๋ถ„์„ ๊ฐ๊ฐ ๊ตฌ์„ฑํ•˜์—ฌ ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•์œผ๋กœ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ, ํฌ์ธํ„ฐ๋Š” ํ•ด๋‹น ๊ตฌ์กฐ์ฒด์˜ ํฌ์ธํ„ฐํ˜•์ด๋ฏ€๋กœ ์ด ๊ตฌ์กฐ์ฒด๋Š” ์ž์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด๊ฐ€ ๋œ๋‹ค.

 

C++

struct Node {
    int value;
    Node* pointer; // ์ž์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด
};

int main() {
    Node A; // ๊ตฌ์กฐ์ฒด ์„ ์–ธ
    A.value = 4;
    Node* Ap = A.pointer; // . ์—ฐ์‚ฐ์ž๋กœ ์ ‘๊ทผ
    int Avalue = A.value;

    Ap = A;
    Avalue = Ap->value; // ํฌ์ธํ„ฐ๋กœ ์ ‘๊ทผํ•  ๋•Œ๋Š” -> ์—ฐ์‚ฐ์ž๋กœ ์ ‘๊ทผ
}

 

๋ฐ˜์‘ํ˜•