1. 程式人生 > >C語言函數部分

C語言函數部分

文件 詳細 gist html ons 內部 聲明 -s 變量定義的位置

一、變量的作用域

1.概念:變量起作用的範圍。

2.局部變量與全局變量:

局部變量

概念:在函數內部或某個控制塊的內部定義的變量(理解“局部”)

作用域:函數內部

作用:增強了函數模塊的獨立性

全局變量

概念:在函數外面定義的變量

作用域:從該變量定義的位置開始,直到源文件結束(理解“全局”)

作用:同一文件的所有函數都可以引用全局變量,增強了各函數間數據的聯系

3.變量的存儲類別:

①變量的動態存儲與靜態存儲:

詳細點擊跳轉頁面

所謂動態存儲方式是指在程序運行期間根據需要進行動態的分配存儲空間的方式。典型的例子是函數的形式參數,在函數定義時並不給形參分配存儲單元,只是在函數被調用時,才予以分配, 調用函數完畢立即釋放。

所謂靜態存儲方式是指在程序編譯期間分配固定的存儲空間的方式。該存儲方式通常是在變量定義時就分定存儲單元並一直保持不變, 直至整個程序結束。全局變量,靜態變量等就屬於此類存儲方式。

②內存中用戶存儲空間的分配情況(三種): 程序區:存放程序語句 靜態存儲區(編譯時分配空間):存放全局變量,在程序開始執行時給全局變量分配存儲區,程序執行完畢就釋放。 動態存儲區(執行行分配空間):存放以下數據:函數形式參數。在調用函數時給形參分配存儲空間;自動變量(未加static聲明的局部變量) ;函數調用時的現場保護和返回地址等; ③關鍵字: auto:自動類別。存儲在動態存儲區,用auto說明,通常auto可以省略。
static:靜態局部變量使用static修飾符定義,即使在聲明時未賦初值,編譯器也會把它初始化為0。且靜態局部變量存儲於進程的全局數據區,即使函數返回,它的值也會保持不變 register:關鍵字register命令編譯器盡可能的將變量存在CPU內部寄存器中而不是通過內存尋址訪問以提高效率。 extern:關鍵字extern用在變量或函數的聲明前,用來說明“此變量/函數是在別處定義的,要在此處引用”。

constconst是一個C語言(ANSI C)的關鍵字,具有著舉足輕重的地位。它限定一個變量不允許被改變,產生靜態作用。使用const在一定程度上可以提高程序的安全性和可靠性。

更多詳情點擊此處

以上是關於C語言函數的部分概念及關鍵字。

C語言函數部分