数组长度与字符串长度有什么区别?

 我来答
忆江南忆梦
高粉答主

2019-08-08 · 关注我不会让你失望
知道答主
回答量:111
采纳率:100%
帮助的人:1.5万
展开全部

数组长度与字符串长度区别:结束标志不同、特点不同

1、结束标志不同

字符串:必须以'\0'结尾;//  ‘ \0 ’ 的意义是“字符串结束符”。

字符数组:可以包含多个'\0',但是如果当做字符串处理,则实际有效字符串为第一个'\0'的签名的字符串,如果当做字符数组处理,可以处理字符数组的任何一个字符,所有的字符都可以是'\0'。

2、特点不同

字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]="j"。

而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

字符数组是指用来存放字符数据的数组。其定义的一般形式为: char 数组名[数据长度] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的。

扩展资料:

字符数组的初始化:

字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。

用字符常量逐个初始化数组。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。

参考资料来源:

百度百科-字符数组

百度百科-字符串

billycatcat
推荐于2017-10-06 · TA获得超过289个赞
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
你好
应该这样理解
首先,就c语言来讲,字符串的实现一般使用数组,例如
char s[] = "hello";

hello里面有五个字符 分别是 h e l l o 由于c语言规定在存放字符串的数组里要以字符串结束符来结束 也就是‘\0’
所以上面定义中的数组s长度为字符总个数5 加上一个结束符‘\0’ 也就是6
那么 字符串的长度就是5 但该数组s的长度就是6

至于通俗的数组长度,应该就指数组里面可存放元素的个数

例如char s[100] = "hello";
虽然字符串s的长度为5 但这时数组长度就为100

希望能明白
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谢应宸
2008-03-21 · TA获得超过2640个赞
知道大有可为答主
回答量:2731
采纳率:66%
帮助的人:2103万
展开全部
比如char a[ ]="xyz"和char b[ ]={'x','y','z'}的长度分别是4和3
字符串的结尾部分有一个\0,也算一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0o闭关修炼o0
2008-03-21 · TA获得超过214个赞
知道答主
回答量:109
采纳率:0%
帮助的人:85.8万
展开全部
字符串尾会有个\0哦~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式