코드 조각의 출력을 검토할 때:
#include <stdio.h> int main(void) { printf("sizeof(char) = %zu\n", sizeof(char)); printf("sizeof('a') = %zu\n", sizeof('a')); }
알 수 있습니다. 문자 상수 'a'의 크기는 C와 C 사이에서 다릅니다. 이러한 차이의 원인을 자세히 살펴보겠습니다.
C에서 'a'와 같은 문자 상수는 4바이트 크기 또는 구현별 값을 갖는 int로 저장됩니다. 그러나 C에서 'a'의 유형은 명시적으로 char이며 1바이트만 차지합니다.
이러한 구별은 두 언어에서 문자 상수를 다르게 처리하는 데서 비롯됩니다. C는 문자 상수를 정수(int 유형)로 처리하는 반면 C는 문자에 대해 별도의 char 유형을 도입합니다.
따라서 C에서 'a'는 정수로 저장되므로 크기가 4바이트입니다. 반면 C에서는 'a'가 문자(char)이므로 크기가 1바이트가 됩니다. 이러한 차이는 두 언어 간의 미묘한 차이 중 하나를 강조합니다.
위 내용은 C와 C에서 `sizeof('a')`가 다른 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!