城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

字符串常量,C语言字符串常量详解

11月15日 颜如初投稿
  字符常量是由一对单撇号括起来的单个字符,如a、D、?、39;。在C语言中,除了字符常量外还有字符串常量,顾名思义就是多个字符串在一起。与字符常量有所不同,字符串常量是用双撇号括起来的多个字符的序列,如Howareyou、Iloveyou、你好。当然,只要是双撇号括起来的,就算只有一个字符也叫字符串,如a。字符常量a与字符串常量a是不同的。
  一个字符在内存中只占一字节,而字符串本质上是多个字符组成的字符数组。C语言规定,在每一个字符串常量的结尾,系统都会自动加一个字符作为该字符串的结束标志符,系统据此判断字符串是否结束。这里要特别强调一点:是系统自动加上的,不是人为添加的。
  是ASCII码为0的字符,它不会引起任何控制动作,也不是一个可以显示的字符。比如字符串常量CHINA,表面上看它只有5个字符,但实际上它在内存中占6字节,C、H、I、N、A、各占一字节。如果要输出该字符串,不会输出。也就是说,虽然实际上总共有6个字符,也包括在其中,但输出时不会输出。系统从第一个字符C开始逐个输出字符,直到遇到,则表示该字符串结束,停止输出。
  也就是说,在字符串常量中,如果双撇号中能看见的字符有n个,那么该字符串在内存中所占的内存空间为n1字节。
  下面写一个程序验证一下:includestdio。hintmain(void){printf(d,sizeof());printf(d,sizeof(a));printf(d,sizeof(CHINA));printf(d,sizeof(Howareyou));printf(d,sizeof(Iloveyou));printf(d,sizeof(你好));return0;}
  输出结果是:
  12612115
  第一个双撇号中什么都不写,则只有一个字符,所以只占一字节。
  第二个a中有1个可见字符,占2字节。
  第三个CHINA有5个可见字符,占6字节。
  第四个Howareyou中,空格也是字符,也算是可见的,所以总共有11个可见字符,共占12字节。
  第五个Iloveyou共10个可见字符,占11字节。
  第六个你好为什么占5字节?有2个可见字符不是应该占3字节吗?C语言规定,1个英文字符占1字节,而1个中文字符占2字节,就算是中文的标点符号也是占2字节。所以两个汉字占4字节,加上总共是5字节。不能将一个字符串常量赋给一个字符变量
  为什么不能将一个字符串常量赋给一个字符变量?可以从两个方面作出解释:前面讲过,字符变量用char定义。一个字符变量中只能存放一个字符。而字符串一般都有好多字符,占多字节。所以不能将多个字符赋给只占一字节的变量。那么如果字符串常量的双撇号内什么都不写,此时就只有一个字符,那么此时可不可以将它赋给字符变量?不可以!原因看下面第二点。字符串是指一系列字符的组合。在C语言中,字符变量的类型用char定义。我们这里讲的是数据类型,但是字符串不属于数据类型,也就不存在字符串变量。一种类型的变量要想存储某个对象,必须能兼容该对象的数据类型,而字符串连数据类型都算不上,又怎么能将它赋给字符变量呢?所以在C语言中,任何数据类型都不可以直接存储一个字符串。那么字符串如何存储?在C语言中,字符串有两种存储方式,一种是通过字符数组存储,另一种是通过字符指针存储。
  需要注意的是,虽然C语言里面没有数据类型可以存储字符串,但C和Java中都有。
投诉 评论 转载

微信收款商业版是怎么回事?如何开通?微信收款商业版是一款可自助开通、完全免开发、无技术门槛的微信支付官方收款综合经营类产品,主要具有围绕二维码支付收款、门店经营管理、活动营销等方面的丰富功能,支持顾客使用信用卡支……奋发图强追赶中美谈一谈俄罗斯无人机的发展现状作为传统航空强国的俄罗斯,在上个世纪90年代以来蓬勃兴起的无人机领域却一直处于惨淡经营的尴尬状态。身居全球无人机研发第一集团领跑地位的中美两国,不仅早就实现了高性能察打一体化无……绿哥今日看点当ColorOS12遇上平板,会有什么化学反应?最近,OPPO的ColorOS系统在网络上热度很高,大家都在期待它新一代的系统更新,那么今天绿哥就来给大家捋捋时间线。前段时间,就有数码博主在OPPO智能助理上发现了一些隐藏的……这几天头条你们能提现吗?肯定能呀!今天刚提现了169块钱。只要你的创作收入满100块钱,在星期四的这一天都能提现。而且提现速度特别的快,只要是你的支持宝绑定了银行卡,输入支付宝密码,几乎是分分钟到帐。……CableMatters推出其首款支持8K视频的USBC转接根据外媒techpowerup消息,国外厂商CableMatters今日推出了两款USBC接口视频转接线,是目前世界上首批支持8K分辨率视频输出的转接线。这两款转接线一个为单H……年末手机大跳水!目前最值得入的4款手机,最高下跌2300元2021年接近尾声,各大手机厂商的压箱底也秀得差不多了,机圈终于又迎来了买手机抄底价的好时候。越来越多高性能手机价格大跳水,最高下跌2300元!笔者根据跳水手机排名,给大家整理……字符串常量,C语言字符串常量详解字符常量是由一对单撇号括起来的单个字符,如a、D、?、39;。在C语言中,除了字符常量外还有字符串常量,顾名思义就是多个字符串在一起。与字符常量有所不同,字符串常量是用双撇号括……国产6200mAh三防旗舰发布,8nm芯片,8256G卖48不知道现在还有没有关注国产三防手机的发展?其实相对于一般常规手机来说,三防手机还是有一定的需求,比如说喜欢在户外工作、玩耍的朋友,在外面可能会遇到雨天、寒冷、下雪等天气,……现在手机的摄影能力越来越强,那还有必要去买传统相机吗?我觉得是这样的,主要是看你自己对于拍摄有多高的要求了,当然单反相机肯定拍摄效果更好,但是单反拍摄效果好要建立在学习摄影基础上才能玩得转。对于普通人而言,手机就够了!而且如果你不……移动流量资费今年再降20!李克强叮嘱规范套餐设置,降费要实实李克强说,今年要促进新兴产业加快发展。深化大数据、人工智能等研发应用,培育新一代信息技术、高端装备、生物医药、新能源汽车新材料等新兴产业集群,壮大数字经济。坚持包容审慎监管,支……花两万去机构培训JAVA,最后去了外包公司小张花了两万,在网上选择了一家培训机构学习Java,经过不到半年的学习,如愿进到了一家外包公司,由于小张并未毕业,所以伪造了学历。小李同样是这样,但不同的是小李已经毕业一……HexoGithubPages部署个人博客1。缘起之前还在学校里的时候,在ACM集训队中偶尔写过一些题解,发布在CSDN的博客上,后来CSDN改来改去,以及各种各样的原因,不想在第三方的博客平台发布了,就有了自己……
NAS到底是啥?看这一篇就够了续航400公里,6万起售的微型电动车零跑T03,能买吗?难以关闭侵害隐私手机APP广告乱象何时休?曝苹果正评估iPhone14,iPhone12让路新机跌至乞多重利好加持Wedbush大摩齐唱多苹果(AAPL。US)让我们少操心的电视盒子,开机即可以使用的电视盒子IOS14爆出可能瘫痪iPhoneiPad的漏洞2招规避主板IPO周报农心科技过会,公职人员入股受发审委关注4月11日,期待vivo空气传导耳机算不算突破?木六上手一周,运动不入耳佩戴还挺不错元宇宙新鲜事银保监会发布风险提示印度约会平台Mingout开微软秋季发布会新品惨遭泄露!Surface系列多款电脑要来了
家乡的变化可真大作文700字资生堂红腰子和兰蔻小黑瓶哪个好被捧上天的精华实力手被烫伤起泡怎么办助你轻松处理烫伤水泡被周总理称为中国最美女性,已99岁的秦怡老了依旧如此美丽国际商务教师的职业素养探讨论文我眼中的初夏美景作文上海男篮教练组正式确定!两大王牌名帅加入,辅佐刘鹏冲击总冠军 我那叽喳的妈妈首个活体机器人让机器人长出活体细胞吴亦凡鹿晗吴世勋边伯贤示范超火奶奶灰男士发型图片【刘渡舟:消胀除湿汤轻症肝硬化腹水,养阴利水汤】2热文聚热点 她是美的

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁