<aside> 💡 목차


</aside>

<aside> 💡 함수 호출 및 포인터를 이해하기 위한 필수 개념


직접 실행해보자!

→ 코드

#include <iostream>
using namespace std;

int main()
{
    int a = 1000;
    int *ptr = &a;
    cout << "a = " << a << endl;
    cout << "*&a = " << *&a << endl;
    cout << "*ptr = " << *ptr << endl;
    cout << endl;
    cout << "&a = " << &a << endl;
    cout << "ptr = " << ptr << endl;
    cout << "*&ptr = " << *&ptr << endl;
    cout << endl;
    cout << "&ptr = " << &ptr << endl;

    return 0;
}

→ 결과

a = 1000           // a라는 변수의 값
*&a = 1000         // a라는 변수가 저장된 주소의 원본값
*ptr = 1000        // ptr 이 가진 주소의 원본값

&a =    0x16f922f78   // a라는 변수의 주소값
ptr =   0x16f922f78   // ptr이 가지고 있는 a의 주소, 즉 ptr == &a
*&ptr = 0x16f922f78   // ptr 이라는 변수 자체의 주소의 원본값 (즉, a의 주소) 

&ptr = 0x16f922f70 // ptr 이라는 변수 자체의 주소

int *ptr
ptr = &a

int *ptr ptr = &a