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