2016 - 2024

感恩一路有你

c语言定义数组时不规定长度 C语言定义未知长度的数组?

浏览量:2775 时间:2021-03-10 14:41:20 作者:admin

C语言定义未知长度的数组?

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

C语言在数组数目未知的情况下,根据不同的应用有三种方式。

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

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

3. 动态分配数组。通过malloc函数,可以动态分配数组,然后记录当前分配的数组元素个数,并使用数组。当数组空间不足时,可以使用realloc函数重新分配空间,扩展数组元素的个数。例如,int size=100,int*P=(int*)malloc(sizeof(int)*100)//初始化并分配100个元素空间。使用size保存当前数组大小。P=realloc(sizeof(int)*(size 100),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语言输入不定长度的数组 c语言如何定义可变长度数组

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。