2016 - 2024

感恩一路有你

c语言数组怎么用 C语言如何定义一组长度不定的数组?

浏览量:3157 时间:2021-03-12 11:29:13 作者:admin

C语言如何定义一组长度不定的数组?

用C语言实现变长数组有几种方法:1。柔性阵列2。动态分配内存

1。使用flexible array就是在结构体中定义一个长度为0的数组:

struct mydata{int nlen char Data[0]}当数组的长度为0时,表示数组的长度只有一个数组名。使用时,可以直接分配指定长度的空间,使用后释放。

Int nlen=100mydata*mydata=(mydata*)malloc(sizeof(mydata)100)

然后在此阵列上执行其他操作。之后,释放分配的空间。

2. 使用动态分配类似于1,只是需要定义一个指针来保存所分配内存空间的实际地址。分配后,指针可以用作数组。您可以更改要分配的数量。操作完成后,还需要释放它。

//Operate on P

free(P)

如果更改的长度来自其他计算公式或函数,也可以定义其他函数。函数的返回值可以是结构或指针,参数是更改的长度。

Char*P P P=(Char*)malloc(len)return P

}

调用:Char*a=Test(获取长度的其他函数)

c语言数组怎么用 c语言可变长数组 柔性数组怎么释放

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