C语言函数部分
?
一、變量的作用域
1.概念:變量起作用的范圍。
2.局部變量與全局變量:
①局部變量:
概念:在函數(shù)內(nèi)部或某個控制塊的內(nèi)部定義的變量(理解“局部”)
作用域:函數(shù)內(nèi)部
作用:增強(qiáng)了函數(shù)模塊的獨立性
②全局變量:
概念:在函數(shù)外面定義的變量
作用域:從該變量定義的位置開始,直到源文件結(jié)束(理解“全局”)
作用:同一文件的所有函數(shù)都可以引用全局變量,增強(qiáng)了各函數(shù)間數(shù)據(jù)的聯(lián)系
3.變量的存儲類別:
①變量的動態(tài)存儲與靜態(tài)存儲:
詳細(xì)點擊跳轉(zhuǎn)頁面
所謂動態(tài)存儲方式是指在程序運行期間根據(jù)需要進(jìn)行動態(tài)的分配存儲空間的方式。典型的例子是函數(shù)的形式參數(shù),在函數(shù)定義時并不給形參分配存儲單元,只是在函數(shù)被調(diào)用時,才予以分配,?調(diào)用函數(shù)完畢立即釋放。
所謂靜態(tài)存儲方式是指在程序編譯期間分配固定的存儲空間的方式。該存儲方式通常是在變量定義時就分定存儲單元并一直保持不變,?直至整個程序結(jié)束。全局變量,靜態(tài)變量等就屬于此類存儲方式。
②內(nèi)存中用戶存儲空間的分配情況(三種): 程序區(qū):存放程序語句 靜態(tài)存儲區(qū)(編譯時分配空間):存放全局變量,在程序開始執(zhí)行時給全局變量分配存儲區(qū),程序執(zhí)行完畢就釋放。 動態(tài)存儲區(qū)(執(zhí)行行分配空間):存放以下數(shù)據(jù):函數(shù)形式參數(shù)。在調(diào)用函數(shù)時給形參分配存儲空間;自動變量(未加static聲明的局部變量) ;函數(shù)調(diào)用時的現(xiàn)場保護(hù)和返回地址等; ③關(guān)鍵字: auto:自動類別。存儲在動態(tài)存儲區(qū),用auto說明,通常auto可以省略。 static:靜態(tài)局部變量使用static修飾符定義,即使在聲明時未賦初值,編譯器也會把它初始化為0。且靜態(tài)局部變量存儲于進(jìn)程的全局?jǐn)?shù)據(jù)區(qū),即使函數(shù)返回,它的值也會保持不變。 register:關(guān)鍵字register命令編譯器盡可能的將變量存在CPU內(nèi)部寄存器中而不是通過內(nèi)存尋址訪問以提高效率。 extern:關(guān)鍵字extern用在變量或函數(shù)的聲明前,用來說明“此變量/函數(shù)是在別處定義的,要在此處引用”。const:const是一個C語言(ANSI C)的關(guān)鍵字,具有著舉足輕重的地位。它限定一個變量不允許被改變,產(chǎn)生靜態(tài)作用。使用const在一定程度上可以提高程序的安全性和可靠性。
更多詳情點擊此處
?
以上是關(guān)于C語言函數(shù)的部分概念及關(guān)鍵字。
?
轉(zhuǎn)載于:https://www.cnblogs.com/960571726y/p/10651654.html
總結(jié)
- 上一篇: vue 进行ajax请求,使用axios
- 下一篇: !--#include virtual=