不确定我的语法是否正确;我的代码正在运行,只是想通过任何想要评论以帮助改进它的人运行它。我假设分配 20480 不会占用任何空间,因为它只是一个指针数组?所以我可以让它去任何大于 dwStringsFound 的数字?
struct sArray {
TCHAR *sName;
}*sKeys[20480];
// get dwStringsFound...
[...]
// allocate the space
for (DWORD i=0;i<dwStringsFound;i++) sKeys[i] = (sArray *) calloc(1,sizeof(sArray));
for (DWORD i=0;i<dwStringsFound;i++) sKeys[i]->sName = tcalloc(1024);
// Do work...
[...]
// Free resources.
for (DWORD i=0;i<dwStringsFound;i++) {
free(sKeys[i]->sName);sKeys[i]->sName=NULL;
free(sKeys[i]);sKeys[i]=NULL;
}