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