我有一個外部變量char myArr[3]
,我試圖給它分配一些東西。例如,在我的函數中,我有myArr[3] = {1,2,3}
。編譯器告訴我,我有「意外的標記:=」,但只要我在本地聲明瞭我的變量(myArr[3] = {1,2,3}
),錯誤就會消失。我試圖掩蓋我的函數內部的外部變量,但沒有結果。C - 無法將數據分配給全局變量
char myArr[3];
void my func(){
myArr = {1,2,3}
}
我有一個外部變量char myArr[3]
,我試圖給它分配一些東西。例如,在我的函數中,我有myArr[3] = {1,2,3}
。編譯器告訴我,我有「意外的標記:=」,但只要我在本地聲明瞭我的變量(myArr[3] = {1,2,3}
),錯誤就會消失。我試圖掩蓋我的函數內部的外部變量,但沒有結果。C - 無法將數據分配給全局變量
char myArr[3];
void my func(){
myArr = {1,2,3}
}
當你
char myArr[3] = { 1, 2, 3}
您正在創建的3個字符數組,並分別將它們設定爲值1,2和3。
當你
myArr[3] = { 1, 2, 3 }
您要設置myArr[3]
(這是由方式的三個字符數組第四性格;你要「出界」)來{ 1, 2, 3 }
哪些沒有意義。在C中,你不能像這樣設置數組:這是一個語法錯誤。
如果你想你的陣列設置爲值1,2和3試試這個:
myArr[0] = 1;
myArr[1] = 2;
myArr[2] = 3;
啊哈!我不知道我在想什麼。漫長的一天人..漫長的一天! – 2013-02-28 00:09:22
我不明白 - 你能證明你做了什麼嗎? – 2013-02-28 00:14:08
聲明一個局部變量,並在我的函數結束,使我的全球=我的本地。例如,如果我在我的函數中執行了char myLocalArr [3],然後myArr = myLocalArr。我仍然會得到一個錯誤 – 2013-02-28 00:15:02
您要設置一個字符數組。 – Dmitry 2013-02-28 00:00:54
請發佈真實的代碼。 (你是否缺少分號?) – wildplasser 2013-02-28 00:01:18
@Dmitry它只是一個字符數組。只要我在本地執行,錯誤消失 – 2013-02-28 00:01:40