思泰克SPI机器测试出现数组长度和字符串长度的区别不够什么原因

小的定义全部都会以赋值号右邊的初始化长度作为数组默认大小。

那么你的问题解答如下:

字符串"abcd"长度为4是因为字符串长度指的是字符串中有效字符的个数,不包含C風格结束符\0而字符串数组a[]="abcd"长度为5,因为这个是算的数组的长度也就是所占用的存储空间,当然要包含\0结束符(它也要占用存储空间)a[10]="abcd"的长度为10,因为你显示指定了字符数组的长度。所占内存当然就是10咯它的存储空间是连续的,也就是说10个字符空间中,前面分别昰a,b,c,d和结束符\0后面全部都是0(被初始化了),总共有5个0加上前面的abcd和结束符\0,一共10个他们的存储是连续的。

a[]={'a','b','c','d'}你没有按照双引号定义,因此不算C风格字符串只是一个字符数组。而你又没有指名大小那么它的大小等于你初始化的长度,这里就是4sizeof也等于4,没有结束符\0叻后面一个问题重复了,不解释!

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或許有别人想知道的答案

地址:上海市嘉定区安亭镇曹安公路5616号财富广场南楼1301室

我要回帖

更多关于 数组长度和字符串长度的区别 的文章

 

随机推荐