C 상수 식
상수 식은 런타임이 아닌 컴파일 시간에 평가되며 상수를 사용할 수 있는 모든 위치에서 사용될 수 있습니다. 상수 식은 해당 형식에 대한 표현 가능한 값의 범위에 있는 상수로 계산되어야 합니다. 상수 식의 피연산자는 정수 상수, 문자 상수, 부동 소수점 상수, 열거형 상수, 형식 캐스트, sizeof
식 및 기타 상수 식일 수 있습니다.
구문
constant-expression
:
conditional-expression
conditional-expression
:
logical-OR-expression
logical-OR-expression
?
expression
:
conditional-expression
expression
:
assignment-expression
expression
,
assignment-expression
assignment-expression
:
conditional-expression
unary-expression
assignment-operator
assignment-expression
assignment-operator
: 다음 중 하나
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
구조체 선언자, 열거자, 직접 선언자, 직접 추상 선언자, 레이블 문의 비단말에는 constant-expression
비단말이 포함됩니다.
정수 상수 식은 구조체의 비트 필드 멤버 크기, 열거형 상수의 값, 배열의 크기 또는 case
상수의 값을 지정하는 데 사용해야 합니다.
전처리기 지시문에서 사용된 상수 식에는 여러 제한이 적용됩니다. 이러한 상수 식을 ‘제한된’ 상수 식이라고 합니다. 제한된 상수 식은 sizeof
식, 열거형 상수, 모든 형식에 대한 형식 캐스트 또는 부동 형식 상수를 포함할 수 없습니다. 그러나 특수 상수 식인 defined (
identifier)
를 포함할 수 있습니다.
참조
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기