0
我无法理解何时malloc大小的指针与结构的大小。例如:什么时候应该malloc指针的大小与结构本身的大小?
我有一个结构:
typedef struct {
char *String;
int Length;
} WORD;
我想使用指针来创建一个指针的单词的数组:
WORD **WordArray;
WordArray = malloc(sizeof(WORD*)) //Since WordArray is only a single ptr to an array of WORDS
现在我需要在每个元件分配内存阵列(比方说3):
*WordArray = malloc(sizeof(WORD) * 3); //Need to allocate the actual struct WORD * number of elements in the array
我是否正确地为这些结构分配内存?如果我最终要释放WordArray,是否需要在释放WordArray之前释放每个单独的元素?
好吧,所以我对我的假设是正确的,我只需要malloc一个指向数组的指针('WordArray = malloc(sizeof(WORD *))')和3个数组中的每个元素的结构('* WordArray = malloc(sizeof(WORD)* 3);')? – user1224478
@ user1224478:如果你真的**需要'malloc'指向该数组的指针,那么是的。但我不能从这里说出你是否需要第二级。 – MSalters