상세 컨텐츠

본문 제목

포인터 NULL

Maya API/C++

by hwano 2014. 1. 19. 18:52

본문

int* p;

*p = 128;

 

p를 초기화하지 않은 상태로 사용하였다.

p가 쓰레기값을 가져 어느곳을 가리키고 있는지 모르는 상황에서 128값을 집어 넣었으니

시스템적으로 아주 중요한 데이터가 있는곳에 데이터를 지워버리고 128을 넣은 것 일 수도 있다.

그러면 시스템이 다운되어버린다.

 

int* P = 0;

 

if ( 0 != p )

*p = 30;

 

위와같은 방식대로 무조건 0값으로 정의하고

if 문으로 0값이 아닌 경우에만 사용하는 습관을 들이면 안전하게 사용할 수 있다.

 

0값은 아무곳도 가리키고 있지 않다. 는 뜻이 된다.

 

int* P = NULL;

 

보통은 0 대신 NULL로 쓴다. 어차피 같은 뜻이다.

관련글 더보기