范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

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

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

喜欢苹果也别乱买,懂手机的人只建议这四款,机身储存是关键前两天最新出炉的8月份手机销量榜中,iPhone又稳居国内市场第一,看来平时大家吐槽归吐槽,真正购机的时候还是很喜欢苹果。但是苹果也累计推出了不少产品了,喜欢也不能乱买。就目前来说小米推出新款空气净化机,售价1299元9月8日消息,小米曾在本月初发布了米家空气净化器4Pro,在相关功能上升级了除醛抗菌能力。目前根据官方信息显示,米家空气净化器4Pro将在明日0点正式开售,首发价格为1299元。米这三款清洁神器,帮我洗天洗地洗空气第一步,先关注我!大家好!我是喜欢研究家电的supercoolman!大家知道家里清洁工程量排前三的部位都在哪里吗?答天地空气什么?说人话!天就是窗户,地就是地板,空气就是灰尘甲醛苹果正式官宣,iPhone13系列终于确定,9月15日凌晨登场近段时间以来,外界对iPhone13系列的爆料越来越多,甚至让不少网友调侃说已经提前看过了苹果发布会。那么苹果秋季新品发布会究竟会在何时举办呢,现在官方已经正式为我们揭晓了。9月8解读vivoX70系列,综合配置肯定能带动更多用户9月已至,一大堆新旗舰机型都将集中在这个月份亮相,而我最期待的机型仍是vivoX系列的最新影像旗舰vivoX70系列机型。该机型依然由vivo与蔡司携手打造,并且新机还将堆料到满。华为P20系列为内测用户推送HarmonyOS更新HarmonyOS鸿蒙系统升级用户已经超过7000万。一些多年的老设备,也借着鸿蒙之势焕发新生。最近,华为就在抓紧为华为P20系列适配HarmonyOS,目前正处于限量内测阶段。华MIUI曾是小米的骄傲!如今为何被口诛笔伐?用过小米1代的老米粉都知道,小米是靠MIUI起家的。在智能机刚开始出现的年代,小米手机1还没发布,就已经先有了可供其他手机刷的MIUI系统包了。之后的故事大家也都清楚,小米手机从无被誉为科学界的鬼打墙的彭罗斯阶梯是什么?彭罗斯阶梯(Penrosestairs)是一个有名的几何学悖论。它是由视错觉所导致的一个无限循环的阶梯,没有最高点也没有最低点,但却有上楼梯和下楼梯的视觉感觉。图示视错觉构建的奇怪手把手教你怎么把阿里云盘变成本地硬盘,这种技能它不香嘛?创作立场声明笔者是一名IT爱好者,平时喜欢看电影,所以对云盘需求比较高,阿里在上传下载速度上还算满意,正好发现这款软件,感觉挺好用,所以分享给大家。大家都可以在评论区友善讨论。写作每月比燃油版省370元,宋MAXDM用车算便宜吗?宋MAX是比亚迪龙脸设计的首款产品,凭借时尚的颜值,这款MPV很快就打开了销路。而随着在新能源领域的持续发力,比亚迪在2019年继续推出了宋MAX新能源,其中宋MAXDM插混车型综iPhonese3系列设计曝光,未来替代iPhonemini?iPhonese3看起来可能要发布了,但这个手机定位是替换iPhonemini手机,原因很简单,因为看起来iPhonese3基本就是青春版的iPhonexr?使用a14处理器,当然
升级鸿蒙系统后微信还能用吗?感谢您的阅读!手机升级鸿蒙系统之后,微信还能使用吗?其实这个问题讨论的是鸿蒙系统的生态问题。鸿蒙的生态问题也是必须或者是着重要解决的问题,如果不能够解决鸿蒙时代问题,那么对于未来的ios14。4对比14。6哪个好?感谢您的阅读!我反而会觉得IOS14。4系统要比IOS14。6系统的体验会更好。我们必须要知道ios14。6系统它确实解决了一些问题增加一些功能,但是这款系统依然会在我看来有一些缺选择电脑,你是颜值党还是配置党?就像做人一样,光有能力,但不修边幅,别人看了会生厌,自然无法融世,如果光修边幅,没有智慧,就像绣花枕头,外表漂亮,里面全是糟糠也不行呀,所以嘛,又要有能力,又要有体面,如此才能融入电视台是自负盈亏吗?电视台是自负盈亏的。媒体都是事业单位企业管理自收自支,当然媒体的营收中也有获得支持的部分。现在大家的阅读和收看都集中到了手机端,原先的报纸电台与电视台,都面临着全新的运营突围。移动如何看待华为官宣鸿蒙后各厂商的态度?华为鸿蒙系统,是中国人的操作系统,在万物互联的互联世界里,由政府机关做起,公务办事很行车站机场家电汽车医院一切都是鸿蒙系统,人们只要拿起鸿蒙系统的手机,就可以和生活息息相关的万物互告别滴滴,入手美团打车,大家怎么看?不要对美团抱太多信心。美团现在纵容司机刷数据。也就是为了达到融资的目的而已。根本就没想过长远发展。不过现在还在没证跑车的司机,其实想想,应了那句老话,可怜之人必有可恨之处。曾经做个华为云手机可以替代5nm或者3nm的高端旗舰手机吗?9月1号,华为宣布启动云手机的公开测试。云手机的概念立刻吸引了世人的眼球。有人说云手机能够让华为彻底摆脱缺乏高端芯片的困境,同时也可以甩开美国对华为的芯片封锁。因为不需要那么多复杂网购平台打假难?亚马逊斥巨资销毁逾200万件假货据美国有线电视新闻网商业新闻网站报道,亚马逊去年销毁了超过200万件疑似假货,这些赝品是由第三方卖家寄往其订单执行中心的,这是亚马逊网站打击假冒伪劣商品行动的一部分。当地时间5月1中国汽车销量连涨13个月!4月新能源车销量激增180据路透社近日报道中国汽车工业协会(CAAM)的数据显示,4月份中国汽车销量与去年同期相比增长8。6,且连续第13个月保持增长。报道称,中国是全球最大的汽车市场,引领该行业从新冠疫情外媒应用务实令中国机器人优势显现来源经济参考报全球工业机器人应用需求在新冠疫情期间持续扩大。外媒近期纷纷表示,中国企业拥有在细分场景的解决方案,不仅成为近期机器人领域的亮点,还有望在全球市场竞争中占据优势。俄罗斯中芯7nm还没消息,中国院士又呼吁放弃EUV,高端芯片路有多难?本文原创,请勿抄袭和搬运,违者必究中国院士多次表态国产芯片处在成熟工艺水平,相对来说,在28nm到90nm领域,中国有一定的参与感。只要稍微努力,实现这类成熟工艺制程的自给自足不成