Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C 대 C++에서 문자 리터럴의 유형 차이

<시간/>

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'));
}

출력

4

예시

#include<iostream>
using namespace std;
main(){
   cout << sizeof('a');
}
사용

출력

1

두 경우 모두 동일한 작업을 수행합니다. 그러나 C에서 sizeof('a')는 정수로 취급되므로 4를 반환합니다. 그러나 C++에서는 1을 반환합니다. 문자로 처리됩니다.