>  기사  >  백엔드 개발  >  정의되지 않은 상수는 #if 조건에서 0으로 평가됩니까?

정의되지 않은 상수는 #if 조건에서 0으로 평가됩니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-12 17:03:02607검색

Do undefined constants evaluate to 0 in #if conditions?

정의되지 않은 상수 및 #if 조건

C 또는 C 전처리기를 사용할 때 #if 내에서 정의되지 않은 상수의 동작을 이해하는 것이 중요합니다. 조건.

질문:

#if 조건에서 평가할 때 정의되지 않은 상수가 0 값을 가질 수 있습니까?

답변:

예, 이 목적을 위해서는 정의되지 않은 상수를 사용할 수 있습니다.

설명:

C99 표준에 따르면(§ 6.10.1 ¶3), C 표준(§16.1 ¶4)에서도 유사합니다:

  • 매크로 확장 및 단항 정의 연산 후에 나머지 모든 식별자(정의되지 않은 상수 포함)는 pp로 대체됩니다. -숫자 0.

따라서 정의되지 않은 상수가 #if 조건에서 0으로 평가되어 일관된 전처리기 동작이 보장된다고 가정하는 것이 안전합니다.

참고:

C에서 true 및 false 키워드는 전처리 중에 특별한 의미를 가지며 0으로 대체되지 않습니다.

위 내용은 정의되지 않은 상수는 #if 조건에서 0으로 평가됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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