大家好,今天小编关注到一个比较有意思的话题,就是关于c语言定义不定长数组的问题,于是小编就整理了2个相关介绍c语言定义不定长数组的解答,让我们一起看看吧。
C#中怎么定义不定长数组?
C#没有不定长数组这种东西,一般建议用Llist泛型,当你需要里再转成数组就行了,形如List<int> list = new List<int>();list.Add(3);list.Add(9);int[] arr = list.ToArray();
C语言如何定义一组长度不定的数组?
C语言中实现变长数组有几种方式:1.柔性数组 2.动态分配内存
struct MyData { int nLen; char data[0];};数组的长度为0就表明数组占用的长度只有一个数组名,当要使用的时候就可以直接分配制定长度的空间,使用完之后释放即可。
int nLen = 100;MyData *myData = (MyData*)malloc(sizeof(MyData) + 100);
(图片来源网络,侵删)
再对这个数组进行其他操作,操作完了之后free掉分配的空间。
2.使用动态分配的方式,和1差不多,只不过要先定义一个指针用来保存分配好的内存空间的其实地址,分配好之后,这个指针就可以当作数组来使用,你要分配多少都是可以变化的,操作完成之后同样要进行释放。
char *p;
(图片来源网络,侵删)
p=(char *)malloc(100);
//对p进行操作
free(p);
到此,以上就是小编对于c语言定义不定长数组的问题就介绍到这了,希望介绍关于c语言定义不定长数组的2点解答对大家有用。