好了,我有以下結構混淆的malloc結構的陣列
struct node {
int visited;
struct node **depend;
};
,我試圖使用動態以下
fscanf(iStream, "%d %d", &nTasks, &nRules);
graph = (struct node *) malloc(nTasks * sizeof(struct node));
分配,但Eclipse中顯示了一個
.. \ GraphSort.c:62:18:警告:函數的隱式聲明 'malloc'[-Wimplicit-function-declaration]圖=(struct node *) malloc(nTasks * sizeof(struct node)); ^
和
.. \ GraphSort.c:圖表=(結構節點[默認啓用]的 內置函數 '的malloc' 不相容隱式聲明:62:26:警告*)malloc(nTasks * sizeof(struct node)); ^
我不明白的是爲什麼。不是一個數組表示爲指向第一個元素的指針嗎?
還遠一點我有這樣的聲明,這表明沒有任何警告
fscanf(iStream, "%d, %d", &taskId, &dependencies);
graph[taskId-1].visited = 0;
graph[taskId-1].depend = (struct node **) malloc(dependencies * sizeof(struct node *));
相關:http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc – anatolyg
你有包括'stdlib.h'嗎? – theBeacon
這就是爲什麼你應該[永遠不會在malloc中輸入malloc的結果](http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc)... –