C 프로그래밍을 할 때 포인터가 실제로 어떤 대상을 가리키고 있지 않을 때는 값을 전부 NULL로 설정하는 것이 바람직하다. 이것으로 프로그램 범위 밖이나 합당하지 않은 메모리 영역을 참조할 가능성이 적어진다.
NULL이 아닌 0으로 설정하는 경우, 어떤 컴퓨터에서는 NULL을 돌려주어 프로그램이 계속 실행될 수 있지만, 어떤 컴퓨터에서는 메모리 0 위치에 있는 비트들을 그대로 돌려주어 심각한 오류를 발생시킨다. 또 다른 유용한 프로그래밍 기법은 포인터 타입 간의 변환을 할 때 명시적인 타입 변환(type cast)을 하는 것이다.
다음과 같이 한다면 부동 소수에 대한 포인터 pF에 정수에 대한 포인터 pI를 지정하게 된다. 내가 사용하는 Dev c++ 환경에서 위 코드를 컴파일하면 다음과 같은 경고가 출력된다.
포인터의 타입이 다르다 다음과 같이 명시적으로 타입 변환을 해주는 것이 좋다. 타입 변환 많은 시스템에서 포인터의 크기는 int 타입의 크기와 같다.
또 int는 디폴트 타...
원문 링크 : 포인터의 위험성