C++에서 문자 리터럴의 크기는 char입니다. C에서 문자 리터럴의 유형은 정수(int)입니다. 따라서 C에서 sizeof('a')는 32비트 아키텍처의 경우 4이고 CHAR_BIT는 8입니다. 그러나 sizeof(char)는 C와 C++ 모두에서 1바이트입니다.
예시 코드
#include<stdio.h> main() { printf("%d", sizeof('a')); }
출력
1
예시 코드
#include<iostream> using namespace std; main() { cout << sizeof('a'); }사용
출력
1
두 경우 모두 동일한 작업을 수행하고 있습니다. 그러나 C에서 sizeof('a')는 정수로 취급되므로 4를 반환합니다. 그러나 C++에서는 1을 반환합니다. 문자로 처리됩니다.