【发布时间】:2013-07-12 14:49:16
【问题描述】:
我有一个函数可以解析一个文件,并将它的数据放入一个动态分配的结构数组中。该函数返回这个动态分配的用户定义数据类型的数组。 我想释放这个在解析函数中使用的数组,我该怎么做?这是我用来分配数组的代码。
DownloadDescription_t* pDownloads = (DownloadDescription_t*) malloc(MDLFDescription -> uiNumberOfLocations *sizeof(DownloadDescription_t));
DownloadDescription_t 结构体的定义如下:
typedef struct
{
UINT uiIndex;
UINT uiDateAdded;
char caFileName[129];
char caUserName[50];
char caSubsystem[10];
} DownloadDescription_t;
谢谢大家!
【问题讨论】:
-
顺便说一句,如果这是 C++ 代码,你真的想使用
new,而不是malloc,除非你用纯 C 代码共享数组。 -
extern "C" 能否成为 c++ 中的 malloc 的片刻?
-
没有。
extern "C"是关于链接的。它不会将您的代码转换为 C 代码。 -
最好还是使用向量,让它自己释放。
-
此代码与 C 共享。