精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言動態(tài)存儲方式與靜態(tài)存儲方式

jf_78858299 ? 來源:C語言 ? 作者:閆小林 ? 2023-03-10 14:34 ? 次閱讀

C語言動態(tài)存儲方式與靜態(tài)存儲方式

靜態(tài)存儲方式是指在程序運行期間由系統(tǒng)分配固定的存儲空間的方式;動態(tài)存儲方式是在程序運行期間根據(jù)需要進行動態(tài)的分配存儲空間的方式。

內存中的供用戶使用的存儲空間可以分為3部分,

  • 程序區(qū)
  • 靜態(tài)存儲區(qū)
  • 動態(tài)存儲區(qū)

全局變量全部存放在靜態(tài)存儲區(qū)中,在程序開始執(zhí)行時給全局變量分配存儲區(qū),程序執(zhí)行完畢就釋放。

在動態(tài)存儲區(qū)存放以下數(shù)據(jù)

  • 函數(shù)形式參數(shù)
  • 函數(shù)中定義的沒有用關鍵字static聲明的變量,即自動變量。
  • 函數(shù)調用時的現(xiàn)場保護和返回地址等。

在C語言中,每一個變量和函數(shù)都有兩個屬性:

  • 數(shù)據(jù)類型
  • 數(shù)據(jù)的存儲類別。

C語言的存儲類別包括4種:

  • 自動的(auto)
  • 靜態(tài)的(static)
  • 寄存器的(register)
  • 外部的(extern)。

C語言局部變量的存儲類別

自動變量(auto變量)

  • 函數(shù)中的局部變量,如果不專門聲明static存儲類別,都是動態(tài)地分配存儲空間的,數(shù)據(jù)存儲在動態(tài)存儲區(qū)中。自動變量用關鍵字auto做存儲類別聲明。

靜態(tài)局部變量(static局部變量)

  • 函數(shù)中的局部變量的值在函數(shù)調用結束后不消失而繼續(xù)保留原值,即其占用的存儲單元不釋放,在下一次再調用該函數(shù)時,該變量已有值。

寄存器變量(register變量)

  • 為提高執(zhí)行效率,允許將局部變量的值放在CPU中的寄存器中,需要用時直接從寄存器取出參加運算,不必再到內存中去存取。由于對寄存器的存取速度遠高于對內存的存取速度,因此這樣做可以提高執(zhí)行效率,這種變量叫寄存器變量,用關鍵字register作聲明。

C語言全局變量的存儲類別

在一個文件內擴展外部變量的作用域

  • 如果由于某種考慮,在定義點之前的函數(shù)需要引用該外部變量,則應該在引用之前用關鍵字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
請按任意鍵繼續(xù). . .
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7601

    瀏覽量

    136251
  • 函數(shù)
    +關注

    關注

    3

    文章

    4308

    瀏覽量

    62445
  • 靜態(tài)存儲器

    關注

    0

    文章

    10

    瀏覽量

    7522
收藏 人收藏

    評論

    相關推薦

    #硬聲創(chuàng)作季 39C語言最新標準化學習課程 數(shù)據(jù)存儲方式_存數(shù)據(jù)

    C語言數(shù)據(jù)存儲編程語言數(shù)據(jù)存儲技術數(shù)據(jù)存儲數(shù)據(jù)
    Mr_haohao
    發(fā)布于 :2022年09月05日 21:34:17

    #硬聲創(chuàng)作季 40C語言最新標準化學習課程 數(shù)據(jù)存儲方式_取數(shù)據(jù)

    C語言數(shù)據(jù)存儲編程語言數(shù)據(jù)存儲技術數(shù)據(jù)存儲數(shù)據(jù)
    Mr_haohao
    發(fā)布于 :2022年09月05日 21:35:36

    FPGA的rom存儲方式是什么?

    小弟使用EP2C8Q208C8N利用mif文件來實現(xiàn)rom,想問下,這里的rom是以字節(jié)、字還是其他什么方式存儲的?
    發(fā)表于 10-26 15:05

    【原創(chuàng)】單片機C語言程序的存儲區(qū)域解讀

    代碼,鏈接過程則將各個源文件生成的二進制機器代碼文件組合成一個文件。C語言編寫的程序經過編譯-鏈接后,將形成一個統(tǒng)一文件,它由幾個部分組成。在程序運行時又會產生其他幾個部分,各個部分代表了不同的存儲
    發(fā)表于 07-04 19:05

    單片機C語言程序的存儲區(qū)域解讀

    代碼,鏈接過程則將各個源文件生成的二進制機器代碼文件組合成一個文件。C語言編寫的程序經過編譯-鏈接后,將形成一個統(tǒng)一文件,它由幾個部分組成。在程序運行時又會產生其他幾個部分,各個部分代表了不同的存儲
    發(fā)表于 07-13 17:02

    C51語言的變量定義方式

    C51 語言的變量定義定義方式:普通變量:(修飾符)數(shù)據(jù)類型 [存儲類型] 變量名 [= 值]指針變量: (修飾符)所指向的地址的數(shù)據(jù)類型 [所指向的地址的
    發(fā)表于 12-01 06:18

    數(shù)據(jù)存儲方式

    數(shù)據(jù)存儲對象包括數(shù)據(jù)流在加工過程中產生的臨時文件或加工過程中需要查找的信息。數(shù)據(jù)以某種格式記錄在計算機內部或外部存儲介質上。數(shù)據(jù)存儲要命名,這種命名要反映信息特征的組成含義。數(shù)據(jù)流反映了系統(tǒng)中流動的數(shù)據(jù),表現(xiàn)出
    的頭像 發(fā)表于 03-22 16:21 ?7413次閱讀

    C語言變量的存儲類別有哪些詳細資料介紹

    C語言中的變量根據(jù)其生存周期,可以分為靜態(tài)存儲方式動態(tài)存儲
    的頭像 發(fā)表于 02-20 16:17 ?4705次閱讀

    C語言動態(tài)庫與靜態(tài)

    C語言動態(tài)庫與靜態(tài)
    的頭像 發(fā)表于 02-06 09:45 ?1339次閱讀

    C語言怎么建立內存的動態(tài)分配

    C語言中,全局變量是分配在內存中的靜態(tài)存儲區(qū)的,非靜態(tài)的局部變量,包括形參是分配在內存中的動態(tài)
    的頭像 發(fā)表于 03-10 15:30 ?830次閱讀

    什么是堆內存?存儲方式是什么樣的?

    存儲方式C 代碼中動態(tài)申請堆內存的申請函數(shù)是 malloc ,常見的內存代碼如下圖所示: 因為malloc函數(shù)返回值是一個內存地址,所以保存堆內存的變量一定得是一個指針,當然這個
    的頭像 發(fā)表于 06-22 10:29 ?1144次閱讀
    什么是堆內存?<b class='flag-5'>存儲</b><b class='flag-5'>方式</b>是什么樣的?

    視頻監(jiān)控數(shù)據(jù)有哪些存儲方式?哪種存儲方式最優(yōu)?

    視頻監(jiān)控數(shù)據(jù)有哪些存儲方式?哪種存儲方式最優(yōu)? 隨著社會的發(fā)展,視頻監(jiān)控技術已經成為城市安全管理中不可缺少的一部分。隨之而來的是海量的視頻監(jiān)控數(shù)據(jù),如何合理地保存這些數(shù)據(jù)成為了一個重要
    的頭像 發(fā)表于 10-26 11:16 ?3128次閱讀

    存儲信息的方式有哪些種類

    存儲信息的方式有多種種類,它們在不同的場景和需求下提供了各自的優(yōu)勢和特點。 一、傳統(tǒng)存儲方式 紙張存儲:最古老的
    的頭像 發(fā)表于 12-01 13:36 ?6142次閱讀

    示波器文件存儲方式介紹

    示波器作為電子測試領域的重要工具,其功能不僅限于實時顯示和分析電信號波形,還涉及到數(shù)據(jù)的存儲和導出。隨著技術的發(fā)展,示波器提供了多種文件存儲方式,以滿足不同應用場景下的數(shù)據(jù)保存需求。本文將詳細解析示波器的文件
    的頭像 發(fā)表于 05-29 17:08 ?1050次閱讀

    靜態(tài)隨機存儲器的定義和工作原理

    靜態(tài)隨機存取存儲器(SRAM)是隨機存取存儲器(RAM)的一種,以其獨特的靜態(tài)存儲方式而著稱。所謂“靜態(tài)
    的頭像 發(fā)表于 09-26 16:25 ?1140次閱讀
    <b class='flag-5'>靜態(tài)隨機存儲</b>器的定義和工作原理