c语言定义数组时不规定长度C语言定义未知长度的数组?-创新互联

C语言定义未知长度的数组?c语言如何定义未知个数的数组?C语言在数组数目未知的情况下,根据不同的应用有三种方式。c语言定义数组时不规定长度 C语
言定义未知长度的数组?

1.数组元素的总数未知,但要存储的内容是已知的。事实上,这是一个已知的数字伪装,但程序员不计算总数,把工作留给系统。在这种情况下,数组的数量可以留空,并且可以显式初始化数组以进行声明。例如,chars[]=“thisisateststring”初始化这样的数组s,其空格数由初始化字符串隐式确定。

潮阳网站建设公司创新互联公司,潮阳网站设计制作,有大型网站制作公司丰富经验。已为潮阳成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的潮阳做网站的公司定做!

2.数组元素的总数未知,但大大小已知。例如,如果您不知道数组的总数,但确定它不会超过100,则可以为存储和调用定义一个包含100个元素的数组。

3.动态分配数组。通过malloc函数,可以动态分配数组,然后记录当前分配的数组元素个数,并使用数组。当数组空间不足时,可以使用realloc函数重新分配空间,扩展数组元素的个数。例如,intsize=100,int*P=(int*)malloc(sizeof(int)*100)//初始化并分配100个元素空间。使用size保存当前数组大小。P=realloc(sizeof(int)*(size100),P)//当空间不足时,添加100个元素。Size=100//需要注意的是,Size的大小必须同步保持,否则会出现错误。

C如何定义一个未知长度的数组?

如果你不知道数组的长度,那么这样的数组就没有实际意义了,所以没有必要去定义它,当然也没有办法去定义它。如果您总是想知道长度,那么在知道长度之后,使用动态内存分配函数malloc()为它分配内存。当数组的长度发生变化时,您可以为它重新分配内存,复制数组,并使用链表返回分配给系统的内存也可以解决您的问题。

c语言如何定义未知个数的数组?

使用malloc函数。。。。例如,您需要申请一个int的未知数字数组。您可以使用以下程序#include<stdio。H>#包括<stdlib。H>main(){int*pintnprintf(“请输入数字n:\n”)scanf(\%d“,&n)P=(int*)malloc(n*sizeof(int))//然后使用*P作为数组指针。。~~~}

一般实践(t是一种类型,如int):

C99可以使用可变长度数组(VLA)和malloc()/free()来分配一个生命周期可由自身控制的数组。例如,在malloc()之后,函数将结果返回给调用者。VLA的生命周期是自动的,只在范围内有效。


当前标题:c语言定义数组时不规定长度C语言定义未知长度的数组?-创新互联
当前地址:http://ybzwz.com/article/dssedo.html