構文が正しいかどうかわかりません。私のコードは機能しています。改善のためにコメントしたい人を超えて実行したいだけです。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;
}