永发信息网

有数组定义:char array[]="china";则数组array所占的空间为多少字节 为什么(尽量详细)

答案:4  悬赏:0  手机版
解决时间 2021-03-22 00:12
  • 提问者网友:原来太熟悉了会陌生
  • 2021-03-21 14:44
有数组定义:char array[]="china";则数组array所占的空间为多少字节 为什么(尽量详细)
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-03-21 15:24
在定义字符数组用字符串常量进行初始化时,系统会自动在结尾加''做结束标志,所以数组array所占的空间为6个字节。
所谓数组,是有序的元素序列。[若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
全部回答
  • 1楼网友:春色三分
  • 2021-03-21 16:57
6个字节 。。
"china" 5个char型,5个字节,不过char 字符串默认会添加'\0'作为结束符。所以再加一个'\0'为6个字节。
  • 2楼网友:西岸风
  • 2021-03-21 16:48
在C语言中,字符串是被作为字符数组来处理的。一般一个数组元素储存一个字符,并且规定了在串末以字符‘\0’作为“字符串结束标志”,即:
“china”后自动加了‘\0’,变为“china\0”,所以加起来一共有 6 个字节。
边外话:C语言中之所以这样规定,主要是因为人们在使用数组时,往往不能对已定义的数组长度(所占的内存空间)进行充分利用,多了结束标志,可以有效地节省其多余的内存空间。

参考资料:C程序设计 (第三版) 潭浩强 著

  • 3楼网友:英雄的欲望
  • 2021-03-21 16:20

有数组定义:char array[]="china";则数组array所占的空间为6。
分析过程:
"china"是个字符串常量
字符串是以为结束符的字符数组,是个不可视字符,故"china"所占的空间为:5+1=6。
char array[]="china"; 这里定义数组array,并用"china"进行初始化。定义数组时,没有指定数组元素个数,则,数组array所占空间由初始化数据所确定。
因此,array所占空间就是"china"所占空间的大小。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯