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