본문 바로가기

공부/C++

아무것도 가리키지 않는. 포인터의 출력

포인터 를 사용할때에

포인터 변수는 항상 0 으로 초기화 해야하며

포인터 변수를 사용하기 전에는 포인터 변수의 값이 0인지 아닌지 비교해야 한다.

비교하는 방법은 if(!포인터변수)  를 사용하는것이 간편하다.





아무것도 가리키지 않는. 포인터의 출력 예제 코드

#include <iostream>
using namespace std;


int main()
{
int* p = 0;//아무것도 가리키고있지 않음을 나타낸다.
//cout << "*p = " << *p << "\n"; 주석처리하지 않으면 아무것도 가리키고있지 않기때문에 에러가 난다.
cout << "p = " << p << "\n";

if (0!=p)
*p = 30;//p가 0 이 아닌 경우에만  가리키는 곳의 값을 30으로 바꾼다. 가리키는 곳이 없으므로 가리키는 곳의 값을 30으로 만들 수 없다.

int a = 100; //int값 a를 선언한다.
p = &a; //p가 a를 가리키게 만든다.

if(!p) //p가 0 이 아니게 되었으므로 아래의 코드를 실행한다.
*p = 30; //p가 가리키는 곳의 변수에 30을 대입한다.

cout << "계산이 다 끝난 후의 값\n";
cout << "*p = " << *p << "\n";
cout << "p = " << p << "\n";


system("pause");

return 0;

}


//출력화면