> 首页 > 生活 > 百科 > 数组的长度一定是固定的吗

数组的长度一定是固定的吗

来源:网络 作者:佚名 时间:04-22 手机版

数组在定义的时候就需要固定长度,长度是不可变的。不过二维数组有点特殊,在定义的时候后面一个方框可以空着,因为后一个框里装的是一维数组的个数,同一个二维数组中的一位数组存在不等长的情况,所以后一个可以不定长。

数组是计算机编程语言上,对于“Array"的中文称呼,是用于储存多个相同类型数据的集合。将相同数据类型的元素按一定顺序排列的集合,把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字成为数组名,编号成为下标。组成数组的各个变量成为数组的分量,也称为数组的元素

java中数组的长度可以用普通变量而不必须是常量是么???

是的。

在Java中,可以使用变量定义数组。

int size=100;

int[] num = new int[size];

这是可以的;

但是在C/C++,这样是不可行的,除非加const

怎么用C语言定义一个无限长的数组?

是的,c中数组定义时要指定大小。

当然,万事也不是绝对的。例如:1作为形参的时候,可以不指定,因为在函数调用的时候,数组会转为指针的。2当为字符串数组时,char ST[]="hello word"这儿定义了一个ST字符数值,不需要你自己去指定大小,系统会自动生成长度为11

js中数组的长度不固定,元素固定该如何定义

C语言支持定义一个不显式定义长度的数组,即通过初始化数据来分配数组长度。

比如int a[] = {1,2,3,4,5}; 数组a的长度没有显式给出,由于有5个初始化数据,所以分配空间长度为5个int型。

但是无论如何定义,数组的长度都是固定的,在定义的时候就已经分配好空间,从这个角度上C语言无法定义无限长的数组。但很多实际应用中又事先无法确定数组的长度,对于这类情况,一般有两种方法可以使用。

1 由malloc和realloc两个函数,分配动态空间,随时按需改变数组的最大长度。

通过下面例子来理解该方法:

#include <stdioh>

#include <stdlibh>

int main()

{

   int size=100;//最初为100个元素空间。

   int a = NULL;

   int i = 0;

   

   a = malloc(sizeof(int)  size);

   if(a == NULL) return -1;

   while(scanf("%d", a+i) == 1)//循环向a中输入数据,直到输入非数值字符为止

   {

       i++;

       if(i == size)//数组空间不足

       {

           size =2; //将数组空间扩大二倍, 也可以改用size+=100;之类的操作,使size每次增加固定值。

           a=realloc(a,size);//分配新的空间

           if(a==NULL)

           {

               return -1;//这种情况下运行载体(如PC)内存不足以提供,中断程序。

           }

       }

   }

   

   if(a) free(a);//对申请的内存进行释放。

   return 0;

}

从以上程序可以看到,这种方式的原理就是每当数组空间不足时,利用函数realloc分配一段新的内存空间以增大数组长度。 直到占满所有剩余空间。

如果到占满所有空间还是无法存下数据,那么是硬件无法支持了。

所以这种方法可以做到软件意义上的无限大数组空间。

但是这种方法代码量比较大,而且需要频繁的进行内存的分配,如果实现知道数据的最大可能规模,那么可以用另一个方法。

2 事先知道数据的最大规模,比如统计一个班的分数时,一个班最多不超过百人,那么可以直接定义一个长度为100的数组,或者保险起见,定义一个长度为1000的数组,并对其操作。这样在操作范围内,这个就是一个“无限长”的数组了。

java里面定义一个数组,不给定长度,可以使用吗

var array=[];表示元素的长度不固定,可以动态添加你想加入的元素

array[0]=你要填入的固定元素;

array[1]=你要填入的固定元素;

定义时当然可以:例如

int[]

a;

但是要把它初始化成为一个真正意义上的数组就必须设定长度:

int

[]

a

=

new

int[10];

这时就只能改变数组里的数值而不能改变它的长度了

相关推荐:

数组的长度一定是固定的吗

克隆技术可否应用在器官移植上

蒙顶山茶品牌种类有哪些

尿床偏方靠谱吗

克隆技术如何运用于医学

如何清洗干净发黑的毛巾

数字组成的一句话

芸豆怎么泡可以尽快用

标签: [db:标签]

声明:《数组的长度一定是固定的吗》一文由排行榜大全(佚名 )网友供稿,版权归原作者本人所有,转载请注明出处。如果您对文章有异议,可在反馈入口提交处理!

最近更新

  • 数组的长度一定是固定的吗

    数组在定义的时候就需要固定长度,长度是不可变的。不过二维数组有点特殊,在定义的时候后面一个方框可以空着,因为后一个框里装的是一维数组的个...

    百科 日期:2023-04-22

  • 克隆技术可否应用在器官移植上

    广义上的克隆技术可以包括分子克隆、细胞克隆、个体克隆。在细胞培养的基础上,可以实现对动物的组织以及器官的克隆。动物细胞培养技术的一个...

    百科 日期:2023-04-22

  • 蒙顶山茶品牌种类有哪些

    1、四川蒙顶毛峰是细嫩烘青的统称。指绿茶初制中形成条索细紧,露茸毫的嫩烘青。在小叶种地区制的毛峰,外形细紧,茸毫披露,显芽锋,汤色明亮,香气清...

    百科 日期:2023-04-22

  • 夏秋交替穿搭

    1、不管是上班还是出街,女孩子的衣柜中定是少不了雪纺上衣的搭配,林林总总的花朵,装扮在一件温柔的上衣,优雅中不失大气,温柔中不失甜美,将女性的...

    护肤品 日期:2023-04-22

  • 雪中悍刀行姜泥为什么总想着刺杀徐凤年

    在《雪中悍刀行》中,姜泥和徐凤年可以说是一对欢喜冤家。姜泥本名叫什么 姜泥是西楚的太平公主吗?徐凤年喜欢姜泥,却总是欺负姜泥。姜泥喜欢徐...

    电影 日期:2023-04-22

  • 熄火后车载蓝牙费电吗

    熄火后车载蓝牙耗费的电量是很低的,这点电量几乎可以忽略不计。但是,建议车友们在熄火后不要长时间坐在车内使用车内的电子设备,这样会降低电...

    汽车 日期:2023-04-22

  • 什么衬衫搭配休闲牛仔裤

    1、条纹衬衫+牛仔裤。衬衫是男士衣柜中必备的一款服饰,不管长袖还是短袖衬衫,肯定少不了三五件,这款条纹短袖衬衫是男士经常会穿到的,搭配一条牛...

    护肤品 日期:2023-04-22

  • 尿床偏方靠谱吗

    如果是疾病因素引起的,先治疗疾病。排除了疾病因素,是由于不良生活习惯造成的遗尿,可以通过耐心的教育,解释和劝慰来纠正。首先要帮助孩子了解...

    百科 日期:2023-04-22

百科排行榜精选

邮箱不能为空
留下您的宝贵意见