C 与 C++ 中字符文字的不同类型


在 C++ 中,字符常量的 size 为 char。在 C 中,字符常量的类型为整数 (int)。因此,在 C 中,sizeof(‘a’) 对于 32 位架构为 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。它被视为字符。

更新于:2019-07-30

122 浏览量

开启你的职业生涯

完成课程并通过认证

开始
广告