【发布时间】:2014-01-09 23:58:46
【问题描述】:
我的程序中有 2 个结构。
id 的链接列表和一个 WORD
typedef struct related
{
int id;
struct related* next;
} RELATED;
typedef struct word
{
int id;
char name[NAME_LEN];
RELATED *related;
} WORD;
我想保存一个 WORD 数组,并且我希望它是动态的。
我有 2 个指向单词的指针:
WORD* word1;
WORD* word2;
有价值观。
当我尝试以这种方式动态分配它时:
WORD** arr = (WORD**)malloc(sizeof(WORD*)*10) // to hold 10 words
并尝试将一个单词添加到数组中,第一个添加正确,但第二个超出了第一个:
arr[0] = word1;
arr[1] = word2;
当我以这种方式定义数组时:
WORD* arr[40];
同样的词添加效果很好
arr[0] = word1;
arr[1] = word2;
找不到这种动态分配的正确方法.. 求帮助!
【问题讨论】:
-
Seems to work fine for me?(是的,不是释放内存,不过可以用于此目的)
-
应该可以了,可以分享一下你的程序代码吗?
标签: c arrays dynamic struct malloc