>백엔드 개발 >C++ >C의 포인터에 대한 NULL 또는 0: 어느 것을 선호해야 합니까?

C의 포인터에 대한 NULL 또는 0: 어느 것을 선호해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-26 17:56:14255검색

NULL or Zero for Pointers in C  : Which Should You Prefer?

C에서 포인터에 대해 NULL 또는 0을 선호

C에서 포인터에 NULL 또는 0을 사용하는 주제는 오랫동안 한동안 논쟁의 여지가 있습니다. C 초기에는 NULL을 void* 포인터로 제한했지만 이후 0으로 재정의되었습니다. 그러나 일부 사람들은 계속해서 0을 선호합니다.

0을 선호하는 사람들은 본질적으로 0이 더 논리적이고 편리하다고 주장합니다. 그들은 진리값 비교에 0을 사용할 수 있기 때문에 명시적인 비교가 필요한 NULL보다 더 의미가 있다고 주장합니다. 또한 그들은 기존 값에 이름(NULL)을 부여하는 것의 가치에 대해 의문을 제기합니다.

반면에 NULL을 선호하는 사람들은 C의 창시자인 Bjarne Stroustrup이 제공한 지침을 인용합니다. Stroustrup에 따르면 C에서 NULL의 정의는 0이므로 본질적으로 미학적 선호가 됩니다. 그는 NULL을 포함한 매크로를 피하고 대신 0을 사용할 것을 권장합니다.

Stroustrup은 또한 C 11에서 nullptr 키워드가 널 포인터의 공식 이름으로 도입되었다고 언급합니다. 이는 코드에서 널 포인터를 나타내는 명확하고 일관된 방법을 제공합니다.

결국 0과 NULL 사이의 선택은 개인 취향에 따라 달라질 수 있습니다. 그러나 커뮤니티의 의견과 언어 작성자가 제공하는 지침을 고려하는 것이 중요합니다. 명확성과 일관성이 가장 중요한 경우에는 nullptr을 사용하는 것이 좋습니다.

위 내용은 C의 포인터에 대한 NULL 또는 0: 어느 것을 선호해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.