C ++中sizeof('x')的值和字符文字的类型是什么?
在C编程语言中,类型字符文字是int,因此sizeof('x')和sizeof(10)之间没有区别。因此,C语言将字符文字视为整数(字符的ASCII)。
让我们考虑以下示例
#include <stdio.h> int main(){ printf("%d,%d\n",sizeof('x'),sizeof(10)); return 0; }
4,4
输出将为4,4(在32位系统架构上)
C++中字符文字的类型
在C++编程语言中,字符文字的类型从int更改为char。这意味着sizeof('x')和sizeof(10)是不同的。
让我们考虑以下示例
#include <iostream> using namespace std; int main(){ cout<<sizeof('x')<<","<<sizeof(10)<<endl; return 0; }
1,4
输出将为1,4(在32位系统架构上)
有什么不同?
在C语言中,字符文字是整数类型,因此sizeof('x')将为4;在C++语言中,字符文字是字符类型,因此sizeof('x')将为1。