中航华府77识图:在c里‘a’和“a”有什么区别?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 04:13:00

'a' -- 字符常量, 相当一个整型数,其值等于小写a的ASCII码的值0x61,或十进制97。

“a" -- 字符串常量, 字符串结尾自动有 NULL。
-------------------------------
正确的:
int i;
i = 'a';
printf("%d\n",i);
printf("%c\n",'a');
printf("%d\n",'a');
printf("0x%02x\n",'a');
printf("letter 'a'\n");
printf("%s\n","a");
------------------------------

printf("%s\n",'a'); -- 错的。
printf("letter "a" \n"); -- 错的。

char c = 'a';
char *s = "a";

区别大致上可以从这里看出来,就是字符常量与字符数组常量(也可以认为是字符串常量)的区别。

'a'字符常量
“a"字符串常量

'a'是字符变量,"a" 是字符串变量
存贮时,'a'只存了字符a的二进制码,而"a"除了存贮a外,还有一个'\0',就是一个字符串结尾标志,共两个字节.

'a'字符常量,在内存中占用一个字节
“a"字符串常量,在内存中占用两节,要用字符数组存储

'a'为字符常量 在计算机内存中占用一个字节的存储空间
"a"为字符串常量 在字符串常量结束后系统会自动以'\0'做为字符串的结束标字