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语言定义未知长度的数组?-创新互联
分享地址:https://www.cdcxhl.com/article10/dssedo.html
成都网站建设公司_创新互联,为您提供标签优化、商城网站、定制网站、Google、自适应网站、网站营销
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联