C에서 포인터에 NULL 또는 0을 사용하는 방법: 개인 선호 또는 객관적 이유?
C 초기에는 널 포인터에 대한 표현으로 NULL 또는 0을 사용하는 것은 실질적인 딜레마였습니다. 그러나 언어가 발전함에 따라 이 결정은 선호의 문제로 더욱 발전했습니다.
0 대 NULL
역사적으로 일부 프로그래머는 0을 기호로 사용했습니다. 널 포인터, 다른 사람들은 값이 0인 void 포인터로 정의된 기호 상수 NULL을 선호했습니다. 후자의 접근 방식은 숫자와의 혼동을 피하기 위한 방법으로 인기를 얻었습니다.
그러나 Stroustrup은 C 스타일 및 기술 FAQ에서 "C에서 NULL의 정의는 0이므로 미학적 차이만 있습니다."라고 설명합니다. 즉, 0과 NULL은 모두 같은 값으로 평가됩니다.
개인 선호도
0과 NULL 사이의 선택은 결국 개인 선호도로 귀결됩니다. 일부 프로그래머들은 0을 사용하는 것이 if(p && !q)와 같은 논리적 비교를 허용하므로 부울 컨텍스트에서 더 의미가 있다고 주장합니다. 반대로 null 값을 명시적으로 표시하고 잠재적인 오해를 피하기 위해 NULL을 선호하는 사람들도 있습니다.
C 11 및 그 이상
C 11의 도입과 함께 새로운 키워드인 nullptr , 널 포인터를 나타 내기 위해 특별히 만들어졌습니다. nullptr은 유형 안전성을 제공하고 0과 NULL 대신 사용할 수 있어 더욱 일관되고 명시적인 솔루션을 제공합니다.
결론
NULL 또는 0을 사용하는 경우 일반적으로 큰 문제가 되지 않습니다. 핵심은 코드베이스 내에서 일관성을 유지하고 프로그래머의 선호도와 스타일에 가장 적합한 방법을 사용하는 것입니다.
위 내용은 C의 포인터에 대해 NULL 또는 0: 선호 또는 객관적 필요성?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!