pointer의 주소가 null 이 될때는?
글쓴이: 익명 사용자 / 작성시간: 일, 2002/08/11 - 11:39오후
int *p;
if( ( p = ( int * )calloc( 크기, sizeof( int ) ) ) == NULL )
위와 같은 코드를 보았는데 포인터의 주소가 널이 될 수 있는 경우는 어떨
때가 있는지요?
제가 혼자서 다음과 같은 간단한 코드를 만들어서 주소가 널이 되는 경우
를 알아보려고 했습니다.
int main( void )
{
① int *p;
② p = ( int * )calloc( 크기, sizeof( int ) );
③ free( p )
return 0;
}
위의 각 세번의 시점에서 주소가 널이 되는지를 보았는데, 어느 경우도
null이 되는 경우는 없더군요...
맨 처음 소스에서 처럼 p 가 널이 되는 경우는 어떠한 경우에 발생하는건
가요?
즐거운 하루 보내세요~ 감사합니다.
Forums:
Re: pointer의 주소가 null 이 될때는?
메모리 할당에 실패한 경우 null을 리턴합니다.
만약 실패했는데 확인없이 그주소를 사용하게 되면
null 번지 즉.. 0 번지를 접근하려 하기 때문에
세그멘테이션 폴트가 일어납니다..
댓글 달기