字符常量与字符串常量的区别是什么
1、形式不同:
字符常量是单引号引起的一个字符;字符串常量是双引号引起的若干个字符。
2、含义不同:
字符常量相当于一个整型值,可以参加表达式的运算;字符串常量代表一个地址值(该字符串在内存中存放的位置)。字符常量可以赋值给字符变量,如"char b='a';",但不能把一个字符串常量赋给一个字符变量,同时也不能对字符串常量赋值。
3、占内存不同:
字符常量只占一个字节;字符串常量占若干个字节,(至少一个字符结束标志)。不占据任何存储空间属于指令的一部分,编译后不再更改。字符串常量是一对双引号括起来的字符序列。
扩展资料:
字符常量有两种:
一种是普通字符,即用单撇号括起来的一个字符,如'b' ,'y',‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。
另一种是转义字符,即特殊字符常量。转移字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义。
另外还可以用字符的ASCII码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:
字符串常量与字符数组的关系:
在C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。例如“char a[10]="love".”
参考资料来源:百度百科--字符常量
参考资料来源:百度百科--字符串常量
字符串常量是双引号引起的若干个字符;
含义上: 字符常量相当于一个整型值,可以参加表达式的运算;
字符串常量代表一个地址值(该字符串在内存中存放的位置);
占内存大小:字符常量只占一个字节;
字符串常量占若干个字节,(至少一个字符结束标志)
字符常量使用时直接拿变量使用
而字符串常量由于含不止一个字符,不易使用其全部字符内容,所以使用时通常是使用它的首地址,即指针
可以用于整型表达式。
字符串常量 长度可以不只1字节,是char 数组,默认以 "\0" 结束。例如 "abc123".
通常要用str...函数来处理,例如 strcmp(),strcpy(),strlen().
有两种表示方法
1. 单撇号
如 'A' '$'
2 转义字符
如 '\n' '\0'
存储上占 1字节 存放于字符型变量中
可以与整数混合运算
字符串常量是0个或多个字符的序列
用 双撇号表示
如 “981650981725”
存储上 等于字符数量+1 因为系统默认追加零字符 存放于字符型数组中