c程式設計關於定義變數順序顛倒出錯的問題

2021-05-26 02:57:13 字數 419 閱讀 8786

1樓:匿名使用者

這個問題本人一開始用c的時候遇到過,因為c語言要求所有變數的宣告要寫在程式塊的最前面,否則報錯。而你的第二種方法明顯把陣列a的宣告放到了n的定義語句n=10;後面,當然報錯。關於宣告和定義的區別跟你說下。

宣告一個變數,如int a;這時候你並沒有給變數賦值,只是給變數分配了空間,而後面再寫a = 2;時,a就有值了。不知道你理解沒有宣告和賦值的區別。

2樓:倒黴熊

這是編譯器的原因,不知道你使用的是哪一個編譯器。

有的編譯器要求 所有變數的宣告需要放在函式的前部,不能以其他語句間隔。

但是,這種規定在其他編譯器則沒有。像使用vc6就沒有這種要求。

3樓:匿名使用者

有些編譯器直接初始化的變數需要放在最後.

c語言中define巨集定義和變數定義的聯絡和區別

巨集定義是全域性性的,變數定義是區域性性的,巨集定義主要在預處理階段完成,由前處理器進行字元替換,變數定義則會在記憶體中為變數分配地址。define巨集定義的量是做常量處理的,如 define price 30,下文只要遇到price就代表常量30,他與變數的區別之一是在書出語句中printf d ...

c類成員函式可以定義變數嗎,C中定義的類,成員函式可以直接使用嗎

什麼叫 函式可以定義變數嗎 是在函式裡定義變數還是啥意思?沒有 函式可以定義變數 這種說法 c 中定義的類,成員函式可以直接使用嗎?沒有物件的時候要訪問類成員函式的話,只能訪問靜態成員函式。例如 class a 這樣可以在主函式裡直接用 a abc 這樣的語句進行呼叫。請教一下 c 類中privat...

關於c語言auto變數和static變數區別

一 主體不同 1 auto變數 是一個c c 語言儲存型別,僅在語句塊內部使用。2 static變數 在計算機程式設計領域指在程式執行前系統就為之靜態分配儲存空間的一類變數。二 作用域範圍不同 1 auto變數 初始化可為任何表示式,其特點是當執行流程進入該語句塊的時候初始化可為任何表示式。2 st...