C++

21.05.24 포인터 변수

슈팅스타제제 2021. 5. 24. 20:09

1. 포인터란? 

변수가 선언되었을 때, 그 데이터를 할당하는 공간인 주소가 존재하는데 그 주소를 포인터라고 한다. 

 

2. 일반 변수와의 차이점

일반 변수 = 값;

포인터 변수 = 주소;

 

일반 변수의 역할 : 자료 자체를 저장하기 위해 사용

포인터 변수의 역할 : 일반 변수가 실제 메모리에 할당된 주소를 참조하기 위해 사용

 

3. 예시

{
    int a = 100; //일반 변수
    int *pa; //포인터 변수
    
    pa = &a; //주소지정 연산자
    
    cout << "a에 저장된 값 : " << a << endl;
    cout << "a의 주소 : " << &a << endl;
    
    cout << "a에 저장된 값 : " << *pa << endl;
    cout << "a의 주소 : " << pa << endl;
    
    return 0;
}

디버그 콘솔창 결과

 

4. 메모리에 할당된 변수 값과 주소

메모리 영역 도식(1)
메모리 영역 도식(2)

 

a  a라는 변수에 저장된 값 : 100

&a  a의 값인 100이 저장된 공간, 주소값 :  00BFFBEC

*pa  주소 00BFFBEC에 저장된 값 : 100

pa  a의 주소 :  00BFFBEC