乙個函式內的復合語句中定義的變數

2021-06-18 23:07:53 字數 599 閱讀 1078

多個語句用括號{}括起來組成的乙個語句稱復合語句。 

在程式中應把復合語句看成是單條語句,而不是多條語句。

如:x=y+z;  

a=b+c;  

printf("%d%d",x,a);  

是一條復合語句。

復合語句內的各條語句都必須以分號「;」結尾;此外,在括號「}」外不能加分號。

定義變數可能有三種情況: 

(1)在函式的開頭定義;

(2)在函式內的復合語句內定義.;

(3)在函式的外部定義.;

在乙個函式內部定義的變數只在本函式範圍內有效,也就是說只有在本函式內才能引用它們,在此函式以外是不能使用這些變數的.在復合語句內定義的變數只在本復合語句範圍內有效,只有在本復合語句內才能引用它們.在該復合語句以外是不能使用這些變數的.以上這些成為"區域性變數".

程式的編譯單位是源程式檔案,乙個原始檔可以包含乙個或若干個函式.在函式內定義的變數是區域性變數,而在函式之外定義的變數稱為外部變數,外部變數是全域性變數(也稱全程變數).全域性變數可以為本檔案中其他函式所共用.它的有效範圍為從定義變數的位置開始到本原始檔結束.

**至微博

**至微博

定義乙個返回記憶體的函式

一,定義乙個返回記憶體位址的函式 void getmemory char p,int size int main cout 定義上面的函式應注意下面幾點問題1,傳指標引用,不能傳指標,如果傳遞的是指標,那麼對形參的修改不會影響到實參。2,使用malloc 動態分配記憶體空間,應對返回的指標進行判斷,...

if else判斷語句中經常犯的乙個錯誤

解法 如果我這麼寫,執行一下看看。當輸入小於0和0 50之間的數時,均正常輸出,但是!當輸出大於50的時候,就出現了如上圖所示的問題 輸入59以後,不但輸出了超過50,還輸入了小於0,這顯然不是我要的結果!為何呢?這就涉及else的執行原理了 else會在上乙個if判斷為false時執行!這時候可以...

乙個sql server update的語句

1 q 從一台伺服器表中某欄位拷貝到另乙個伺服器表中 1.1 鏈結伺服器建立 1.2 建立表insert部分表資料 1.3 其他資料需要從另乙個表中拷貝一欄過來,經常出錯 後經驗證是表名字首太長導致,用臨時表解決 drop table tmp 刪除臨時表 tmp create table tmp 建...