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(获取长度的其他函数)
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。