- 形式上
字符常量是由单引号括起来的单个字符,而字符串常量是由双引号括起来的若干个字符。
- 含义上
字符常量相当于一个整型值,可以参加表达式的运算,而字符串常量代表一个地址值(该字符串在内存中存放的地址)。
#include<stdio.h>
int main(){
char c='h'; //字符
char str[]="hello"; //字符串
printf("%d %d",c,str);
}
输出%d,所以输出104,104为字符'h'的ascII码值。
- 存储空间上
字符只占一个字节,而字符串常量占若干个字节(至少一个字符结束标志)。
#include<stdio.h>
int main(){
printf("%d %d",sizeof('h'),sizeof("hello"));
}
【注意】sizeof()会把字符串结束标志'\0'计算在内。
sizeof()与strlen()区别: