C语言,字符常量与字符串常量有什么区别,求详解

 我来答
戚风b
2013-06-18 · TA获得超过203个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:112万
展开全部
首先,它们都是常量,所以不可以被改值。
字符常量永远是一个个体,也就是它只是一个字符而已。
而字符串常量是一个群体,就像人们说的一句话,字符串常量中是由若干个字符常量构成的,当然可以没有,不过系统会给其加一个‘\0’,至于为什么要加,找D.M.Ritchie。
就像人们说的话一样,字符常量是单词,而每一句话的后面都要加上句号,表示这句话说完了,这个大概是‘\0’拟人的一个作用吧,我这么认为。
另外字符常量其实对于计算机来说是一个二进制数,也就是它是一个数值,所以你可以对一个字符常量来进行逻辑运算,比如‘b’ - ‘a’ = 1。
字符串常量是话语,作为条件的判断以及显示器输出的对象。
祝你好运~
追问
字符串常量用在数组上是不是拆成单个字符用
追答
是的,既然是字符构成的,每一个字符占一个单元,当然可以看做一个数组结构的形式。其实内存来说,它是顺序地址的,所以你在存储数据的时候,有多大就占用多大的单元,只不过数组是认为的看待的一种形式,这样逻辑上来说比较好分析,其实内存没有变。
百度网友83cdc1c
2013-06-18 · TA获得超过5792个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:845万
展开全部
字符常量用单引号括起来,'A','a'等,表示单个字符

字符串常量用双引号括起来,"abcd","ABCD"等,表示由若干字符和最后一个结束字符'\0'组成的字符串。譬如"ABCD",除了'A','B','C','D'这四个字符外,最后还有一个'\0'结束字符。实际占5个字符位置。
更多追问追答
追问
字符常量每个字符都有对应的十进制数,比如'a'=97.那字符串“abcd”代表什么
追答
字符串可以看成是字符数组

譬如"abcd",可以看成是一个数组char s[5],
s[0]是'a',s[1]是'b',s[2]是'c',s[3]是’d',s[4]是'\0'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式