문자열 리터럴 크기
C에서 sizeof는 데이터 유형이나 표현식의 크기를 계산합니다. 문자열 리터럴에 적용될 때 sizeof는 종료 null 문자(' ')를 포함하여 리터럴의 길이를 계산합니다.
출력 이해
제공된 코드는 다음을 계산합니다. 문자열 리터럴, const char* const 및 const char[]의 크기. GCC로 컴파일된 32비트 OS의 출력은 다음과 같습니다.
sizeof(string literal) = 2 sizeof(const char* const) = 4 sizeof(const char[]) = 2
sizeof가 문자열 리터럴의 길이를 계산하는 이유
sizeof("f")는 평가합니다. 문자열 리터럴은 문자 'f'와 종료 null로 구성되므로 2로 변경됩니다.
표현식의 크기 유형
주의 사항: 배열 크기
배열은 sizeof로 전달될 때 포인터로 붕괴되지 않습니다. 따라서 sizeof(bar)는 포인터 크기(32비트 OS의 경우 4) 대신 2를 올바르게 반환합니다.
위 내용은 C에서 `sizeof`가 문자열 리터럴, 포인터 및 배열에 대해 다른 값을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!