gpt4 book ai didi

c - 一个 C 结构体中的一个 TCHAR 成员 - 如何动态分配结构体的成员和数组?

转载 作者:行者123 更新时间:2023-11-30 17:53:20 25 4
gpt4 key购买 nike

我有这个结构:

struct sArray {
TCHAR *sName;
};

我现在想为 sArray 数组动态分配内存,并为 sName 动态分配内存。所以我可以使用 var[0].sName、var[1].sName...var[x].sName 之类的东西。

我正在寻找一个简单的解决方案 - 这里和网上有大量关于动态分配的文章,但没有一个回答这个问题。

那么,我该怎么做呢?完成后如何释放成员和数组内存?

最佳答案

试试这个:

int len = 20; //number of elements (sArray's) you want in ar.
struct sArray *arr = malloc(length*sizeof(struct sArray));
int i;
int nameLength = 30; // max length of name
for (i = 0; i < length; ++i)
arr[i].sName = malloc(nameLength*sizeof(TCHAR));

并释放内存:

for (i = 0; i < length; ++i)
free(arr[i].sName);
free(arr);

关于c - 一个 C 结构体中的一个 TCHAR 成员 - 如何动态分配结构体的成员和数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com