0
#inlude <stdio.h>
typedef struct node
{
int data, height, count;
struct node *left, *right, *father;
}node;
node *root = NULL;
void main(){
//some code here
}
上面的代碼沒有給出錯誤,但爲什麼我不能將價值分配分成兩個不同的陳述?
#inlude <stdio.h>
typedef struct node
{
int data, height, count;
struct node *left, *right, *father;
}node;
node *root;
root = NULL;
void main(){
//some code here
}
這將產生以下錯誤:
sample.c:11:1: error: conflicting types for 'root'
sample.c: 10:7 note: previous declaration of 'root' was here
node *root;
^
聲明
root = NULL;
聲明時,不轉載上述錯誤在main function
可能是什麼原因?
當函數不是初始化的一部分時,您不能只在函數之外分配一個變量。 –
請注意,所有全局變量都是零初始化的,將它們重新初始化爲零就沒有意義了。 –