C 및 C++의 모든 리터럴이 특정 형식 정보를 얻는 것을 알고 있습니다. 이 작은 프로그램을 C로 작성하고 Visual Studio 2012에서이 파일을 컴파일했습니다. 소스 파일의 이름은 'main.c'입니다.C에서 문자 리터럴의 크기가 C++과 다른 이유
#include <stdio.h>
int main()
{
printf("sizeof(char) = %d\n",sizeof(char));
printf("sizeof('i') = %d",sizeof('i'));
getchar();
return 0;
}
는 출력 :
sizeof(char) = 1
sizeof('i') = 4
나는 문자의 크기가없는 1 바이트라고 생각해. 원본 파일의 이름을 'main.cpp'로 변경했으며 이전에 예상했던대로 sizeof ('a')가 1을 반환했습니다. 따라서 언어별로 차이가 있어야합니다. C 4 Byte의 문자 크기가 1이 아닌 이유는 무엇입니까?
* Q : C에서 char의 크기가 C++과 다른 이유는 무엇입니까? * A : 그렇지 않습니다. –