栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【c++字符串和字符数组】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【c++字符串和字符数组】

在 C++ 中我们可以使用 字符数组 来代替字符串,但字符串与字符数组不是完全等价的。

字符串与字符数组的区别

1、字符串以结束,string s ="fsdfsdsaf";输出的s为fsdfsd;但是字符数组没有这个要求。

2、字符串一定是一个char的数组,但char字符数组不一定是字符串。

3、数字 0(和字符 ‘’ 等价)结尾的 char 数组 就是一个字符串,但如果 char 数组没有以数字 0 结尾,那么就不是一个字符串,只是普通字符数组,所以字符串是一种特殊的 char 数组。

字符串与字符数组的比较

当我们指定数组长度

1、如果我们定义的字符数组长度和元素个数相等,则它是一个字符数组,例如char str[5]={'g','d','f','s','g'},但把这个字符数组修改一下 char str[6]={'g','d','f','s','g'},则它表示一个字符串,因为它会自动在最后一位补上,当遇到数字0或就会结束。

2、当我们如果需要对一个字符数组转换成字符串时,需要在字符数组最后面加上一个,

 如上图,输入会出现乱码,所以我们解决办法是在字符数组str末尾加上,

这种办法可能不是最好的,但也是一种解决办法。

如果不指定数组长度的情况 

1、只需在数组末尾加上0即可。

字符串遇0或自动结束

当我们将一个元素带有的字符数组转换成字符串的时候,则会出现如下情况:

 当我们将一个元素带有0的字符数组转换成字符串的时候,则会出现如下情况:

总结 

在 C++ 中,字符串必须是以  做为结尾的,但字符数组没有这个要求。字符串一定是一个 char 的数组,但 char 的数组未必是字符串。

数字 0(和字符 ‘’ 等价)结尾的 char 数组就是一个字符串,但如果 char 数组没有以数字 0 结尾,那么就不是一个字符串,只是普通字符数组,所以字符串是一种特殊的 char 数组。

写在最后

字符串和字符数组是小菜在工作中遇到的问题,所以写出来加深自己的理解。

以上内容有参考嗨客网,详解可转至C++字符串与字符数组-C++字符串与字符串数组区别对比-嗨客网 (haicoder.net)

我们只是知识的搬运工,无任何商业行为。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号