2012-10-03 4 views
4

널 포인터와 매달린 포인터간에 의미있는 차이가 있습니까? 두 포인터가 아무 것도 가리 키지 않는 포인터에 사용되는 용어 인 것 같습니다. 매달려있는 포인터 은 뭔가를 참조하기 위해을 사용한다는 생각입니까? null 포인터는 (과거에 지적한 것과 관계없이) 아무 것도 참조하지 않는 포인터일까요?널 포인터 대 매달려 포인터

답변

8

null 포인터는 포인터가 아무 것도 가리키고 있지 않다는 것을 의미하거나 일부 언어에서는 가리키는 대상을 알 수 없음을 의미합니다. 하지만 그것은 널 포인터이기 때문에 이것을 알 수 있습니다. 코드는 이것을 알고 있으므로 아무런 문제가 없습니다. 매달려있는 포인터는 당신이 뭔가를 가리키고 있다고 생각 하나 실제로는 더 이상 존재하지 않기 때문에 포인터는 실제로 부정확하지만 그것을 알지 못합니다.

11

포인터 용어 :

  • 매달려 (또는 야생) 포인터 :하지만 유효한 객체에 어딘가를 가리키는 포인터.
  • Null 포인터 : 프로그램이 데이터를 합법적으로 저장하지 못하게 특별히 지정된 범위를 벗어난 포인터를 가리키는 포인터. 매달린 포인터의 특수 클래스입니다.
  • 초기화되지 않은 포인터 : 무언가의 주소에 할당되지 않은 포인터. 매달려있는 포인터의 한 종류.
  • 부실 포인터 (Stale pointer) : 무언가를 가리키는 데 사용되었지만 대상이 삭제되었습니다 (삭제 연산자, 사용 가능 또는 범위를 벗어남을 통해). 매달려있는 포인터의 한 종류.

매달린 포인터는 일반적으로 Nothing을 가리키는 것으로 알려진 null 포인터를 제외하고 하이퍼 스페이스 또는 다른 차원을 가리키고 있다고 말할 수 있습니다.