|
test=test+z; } void f2(void) { int count=10; /*定義局部變量并初始化*/ test=test*count; }
由于全程變量可被整個程序內的任何一個函數使用, 所以可作為函數之間傳遞參數的手段,但全程變量太多時, 內存開銷變大。 4.3 變量存儲類型 Turbo C2.0支持四種變量存儲類型。說明符如下: auto static extern register 下面分別來介紹。 一、auto auto稱為自動變量, 已在前面作了介紹, 這里不再重復。 二、static static稱為靜態變量。根據變量的類型可以分為靜態局部變量和靜態全程變量。 1. 靜態局部變量 它與局部變量的區別在于: 在函數退出時, 這個變量始終存在, 但不能被其它函數使用, 當再次進入該函數時, 將保存上次的 結果。其它與局部變量一樣。 2. 靜態全程變量 Turbo C2.0允許將大型程序分成若干獨立模塊文件分別編譯, 然后將所有模塊的目標文件連接在一起, 從而提高編譯速度, 同 時也便于軟件的管理和維護。靜態全程變量就是指只在定義它的源文件中可見而在其它源文件中不可見的變量。它與全程變量的區 別是: 全程變量可以再說明為外部變量(extern), 被其它源文件使用, 而靜態全程變量卻不能再被說明為外部的, 即只能被所在的 源文件使用。 三、extern extern稱為外部變量。為了使變量除了在定義它的源文件中可以使用外, 還要被其它文件使用。因此, 必須將全程變量通知每 一個程序模塊文件, 此時可用extern來說明。 例如: 文件1為file1.c 文件2為file2.c int i, j;/*定義全程變量*/ extern int i, j;/*說明將i, j從文件1中復制過來*/ char c; extern char c; /*將c復制過來*/ void func1(int k); func2() /*用戶定義函數*/ { main() static float k;/*定義靜態變量*/ { i=j*5/100; func1(20);/*調用函數*/ k=i/1.5;
|