C語言動態存儲方式與靜態存儲方式
靜態存儲方式是指在程序運行期間由系統分配固定的存儲空間的方式;動態存儲方式是在程序運行期間根據需要進行動態的分配存儲空間的方式。
內存中的供用戶使用的存儲空間可以分為3部分,
- 程序區
- 靜態存儲區
- 動態存儲區
全局變量全部存放在靜態存儲區中,在程序開始執行時給全局變量分配存儲區,程序執行完畢就釋放。
在動態存儲區存放以下數據
在C語言中,每一個變量和函數都有兩個屬性:
- 數據類型
- 數據的存儲類別。
C語言的存儲類別包括4種:
C語言局部變量的存儲類別
自動變量(auto變量)
- 函數中的局部變量,如果不專門聲明static存儲類別,都是動態地分配存儲空間的,數據存儲在動態存儲區中。自動變量用關鍵字auto做存儲類別聲明。
靜態局部變量(static局部變量)
- 函數中的局部變量的值在函數調用結束后不消失而繼續保留原值,即其占用的存儲單元不釋放,在下一次再調用該函數時,該變量已有值。
寄存器變量(register變量)
- 為提高執行效率,允許將局部變量的值放在CPU中的寄存器中,需要用時直接從寄存器取出參加運算,不必再到內存中去存取。由于對寄存器的存取速度遠高于對內存的存取速度,因此這樣做可以提高執行效率,這種變量叫寄存器變量,用關鍵字register作聲明。
C語言全局變量的存儲類別
在一個文件內擴展外部變量的作用域
- 如果由于某種考慮,在定義點之前的函數需要引用該外部變量,則應該在引用之前用關鍵字extern對該變量作“外部變量聲明”,表示把該外部變量的作用域擴展到此位置。
將外部變量的作用域擴展到其他文件。
將外部變量的作用域限制在本文件中。
注意,用auto、register和static聲明變量時,是在定義變量的基礎上加上這些關鍵字,而不能單獨使用。
C語言****存儲類別案例
#include
int main()
{
auto int num1=10;
register int num2=20;
static int num3=30;
printf("%d\\n",num1);
printf("%d\\n",num2);
printf("%d\\n",num3);
return 0;
}
編譯運行結果:
10
20
30
--------------------------------
Process exited after0.04696 secondswith return value0
請按任意鍵繼續. . .
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7608瀏覽量
137143 -
函數
+關注
關注
3文章
4338瀏覽量
62758 -
靜態存儲器
+關注
關注
0文章
10瀏覽量
7539
發布評論請先 登錄
相關推薦
【原創】單片機C語言程序的存儲區域解讀
代碼,鏈接過程則將各個源文件生成的二進制機器代碼文件組合成一個文件。C語言編寫的程序經過編譯-鏈接后,將形成一個統一文件,它由幾個部分組成。在程序運行時又會產生其他幾個部分,各個部分代表了不同的存儲
發表于 07-04 19:05
單片機C語言程序的存儲區域解讀
代碼,鏈接過程則將各個源文件生成的二進制機器代碼文件組合成一個文件。C語言編寫的程序經過編譯-鏈接后,將形成一個統一文件,它由幾個部分組成。在程序運行時又會產生其他幾個部分,各個部分代表了不同的存儲
發表于 07-13 17:02
C51語言的變量定義方式
C51 語言的變量定義定義方式:普通變量:(修飾符)數據類型 [存儲類型] 變量名 [= 值]指針變量: (修飾符)所指向的地址的數據類型 [所指向的地址的
發表于 12-01 06:18
數據存儲方式
數據存儲對象包括數據流在加工過程中產生的臨時文件或加工過程中需要查找的信息。數據以某種格式記錄在計算機內部或外部存儲介質上。數據存儲要命名,這種命名要反映信息特征的組成含義。數據流反映了系統中流動的數據,表現出
什么是堆內存?存儲方式是什么樣的?
的存儲方式。 C 代碼中動態申請堆內存的申請函數是 malloc ,常見的內存代碼如下圖所示: 因為malloc函數返回值是一個內存地址,所以保存堆內存的變量一定得是一個指針,當然這個
視頻監控數據有哪些存儲方式?哪種存儲方式最優?
視頻監控數據有哪些存儲方式?哪種存儲方式最優? 隨著社會的發展,視頻監控技術已經成為城市安全管理中不可缺少的一部分。隨之而來的是海量的視頻監控數據,如何合理地保存這些數據成為了一個重要
示波器文件存儲方式介紹
示波器作為電子測試領域的重要工具,其功能不僅限于實時顯示和分析電信號波形,還涉及到數據的存儲和導出。隨著技術的發展,示波器提供了多種文件存儲方式,以滿足不同應用場景下的數據保存需求。本文將詳細解析示波器的文件
評論