C和C++中的字符大小是多少?据我所知,char的大小在C和C++中都是1个字节.
#include <stdio.h>
int main()
{
printf("Size of char : %d\n", sizeof(char));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
#include <iostream>
int main()
{
std::cout << "Size of char : " << sizeof(char) << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
没有惊喜,它们都给出了输出: Size of char : 1
现在我们知道,字符表示为'a'
,'b'
,'c'
,'|'
,...所以我只是修改了上面的代码对这些:
在C:
#include <stdio.h>
int main()
{
char a = 'a';
printf("Size of char : %d\n", sizeof(a));
printf("Size of char : %d\n", sizeof('a'));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Size of char …
Run Code Online (Sandbox Code Playgroud) 为什么编译:
char ch = '1234'; //no error
Run Code Online (Sandbox Code Playgroud)
但不超过4 char
秒:
char ch = '12345'; //error: Too many chars in constant
Run Code Online (Sandbox Code Playgroud)
(是的,我知道' '
用于一个char
," "
用于字符串;我只是在尝试)
这是否与char
使用ASCII数字表示的事实有关?