-1
我有以下問題的數組元素的字符串:我在此節點結構複製在一個結構
typedef struct NODE{
struct NODE *sons[1024]; //this array will be used to store children pointers
char name[255];
int leaf;
}NODE;
和該函數建立具有給定名稱的新節點。問題是第一個printf顯示正確的名稱,第二個沒有。似乎for循環會擦除名稱,我無法解釋自己爲什麼...
NODE *AllocateNewNode(char *inputname) {
NODE *newnode;
newnode = (NODE *)malloc(sizeof(NODE));
memset(newnode->name, '\0', sizeof(newnode->name));
strcpy(newnode->name, inputname);
printf("node %s created\n", newnode->name); //right name in the output
int i = 0;
for (i = 0; i <= 1024; i++) {
newnode->sons[i] = NULL;
}
newnode->leaf = 1;
printf("node %s created\n", newnode->name); //no name in the output
return newnode;
}
wooooops,非常感謝 – Speck
@Speck如果這是你期待的答案,你應該接受它。 –