C和C ++中字符文字的类型差异

在C ++中,字符常量的大小为char。在C语言中,字符常量的类型为整数(int)。因此,在C语言中,对于32位体系结构,sizeof('a')为4,而CHAR_BIT为8。但是对于C和C ++,sizeof(char)是一个字节。

示例

#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。它被视为字符。