数组长度字符串长度,数组中字符串长度

http://www.itjxue.com  2023-01-04 17:03  来源:未知  点击次数: 

数组长度和字符串长度

当使用字符串数组保存字符串时,往往数组是固定长度的,假定数组定义长度是n,意思是最多可保存n个char类型数据;字符串特点是最后以一个0结束,这就意味着前面定义的长度是n个元素的数组在存放字符串时最多存放n-1个字符,加上结尾的0长度是n;当然存放字符串长度小于n-1的自然没有问题,只要搞明白:为存放字符串,在除了存储字符串中的字符以外,还要在末尾多用一个单元存放字符串结束符0。

字符数组长度和字符串长度

1.字符数组长度和字符串长度

输出内容如下,因为char数组会在末尾添加一个 '\0' ,串中字符的个数成为 串的长度

2.将字符串打印出来,如果是ilen,此时是数组长度,会在末尾多输出一个空格

字符串拼接

3.strcat函数原型a,b字符串拼接,然后存储到a中

字符串长度 数组长度具体区分

你好!!!

我们还是先来看看一个例子:

代码:

#include iostream.h

#includestring.h

int main()

{

char a[]={'a','b','c'};

cout"字符串a:"aendl;

cout"数组的大小:"sizeof(a)endl;

cout"数组的大小:"strlen(a)endl;

coutendl;

char b[5]={ 'a','b','c'};

cout"字符串b:"bendl;

cout"数组的大小:"sizeof(b)endl;

cout"数组的大小:"strlen(b)endl;

return 0;

}

结果:

字符串a:abc汤?

数组的大小:3

数组的大小:7

字符串b:abc

数组的大小:5

数组的大小:3

Press any key to continue

首先要知道:sizeof()求的是在内存中的分配的长度(暂且这样讲)

strlen()是求内存中实际已经使用的空间,也就是说虽然分配了很多空间,但是好多空间都没有用到,都是空的。

还要知道字符串的结束标志是‘\0’即空字符!!!

char a[]={ ‘a’,’b’,’c’};表示给数组的第一,第二,第三个字节的元素是a,b,c,而此时的数组的大小不是知道的,也就是系统已经在栈里至少分配了3个字节大的内存,要是数组在栈里是连续存放的,因此数组的后面还有多少个字节谁也不知道,要是此时输出字符串,输出a,b,c后由于赋值的后没有赋结束标志(一个字符一个字符的赋值系统不会自动的在最后添加结束标志),所以数组会一直向后面移动,知道遇见结束标志,此题可以看出字符串a:abc汤?

a,b,c,空格 中5个字节,还有一个汉字是2个字节所以数组的大小是7个字节,但是实际赋值的字符只有3个字节!!

而数组b:char b[5]={ 'a','b','c'};数组的大小是5个字节,实际只用到了3个字节,至于后面的字节则是‘\0’输入输出都是正确的。

不理解我们再联系!!!

字符串数组的长度

是14个,因为\n算一个换行字符,\t是一个退格字符,两个\\都是一个反斜杠字符,最后自动添加一个结束字符。你可以单步调试,跟踪一下s数组中的内容就知道了。

楼主问的是字符串数组的长度,自然就要有结束符'\0'了,要是说字符串的长度那是没有的。所以对于楼主的答案,应该是有'\0'的。

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

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

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个元素。

参考资料来源:

百度百科-字符数组

百度百科-字符串

数组长度和字符串长度的区别,最好是可以举个例子。谢谢各位大神

比如char a[10],里面存储字符串“string”,那么数组长度为10,字符串长度为7

(责任编辑:IT教学网)

更多

相关Illustrator教程文章

推荐Illustrator教程文章