c語(yǔ)言如何存儲(chǔ)已經(jīng)得到的數(shù)據(jù) c語(yǔ)言存儲(chǔ)形式怎么看?
c語(yǔ)言存儲(chǔ)形式怎么看?C語(yǔ)言動(dòng)態(tài)存儲(chǔ)與靜態(tài)存儲(chǔ)靜態(tài)存儲(chǔ)是指在程序運(yùn)行期間由系統(tǒng)分配固定的存儲(chǔ)空間的;動(dòng)態(tài)存儲(chǔ)是在程序運(yùn)行期間根據(jù)需要進(jìn)行動(dòng)態(tài)的分配存儲(chǔ)空間的。內(nèi)存中的供用戶使用的存儲(chǔ)空間可以分為3部分
c語(yǔ)言存儲(chǔ)形式怎么看?
C語(yǔ)言動(dòng)態(tài)存儲(chǔ)與靜態(tài)存儲(chǔ)
靜態(tài)存儲(chǔ)是指在程序運(yùn)行期間由系統(tǒng)分配固定的存儲(chǔ)空間的;動(dòng)態(tài)存儲(chǔ)是在程序運(yùn)行期間根據(jù)需要進(jìn)行動(dòng)態(tài)的分配存儲(chǔ)空間的。
內(nèi)存中的供用戶使用的存儲(chǔ)空間可以分為3部分,
程序區(qū)
靜態(tài)存儲(chǔ)區(qū)
動(dòng)態(tài)存儲(chǔ)區(qū)
全局變量全部存放在靜態(tài)存儲(chǔ)區(qū)中,在程序開(kāi)始執(zhí)行時(shí)給全局變量分配存儲(chǔ)區(qū),程序執(zhí)行完畢就釋放。
在動(dòng)態(tài)存儲(chǔ)區(qū)存放以下數(shù)據(jù)
函數(shù)形式參數(shù)。
函數(shù)中定義的沒(méi)有用關(guān)鍵字static聲明的變量,即自動(dòng)變量。
函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址等。
在C語(yǔ)言中,每一個(gè)變量和函數(shù)都有兩個(gè)屬性:
數(shù)據(jù)類型
數(shù)據(jù)的存儲(chǔ)類別。
C語(yǔ)言的存儲(chǔ)類別包括4種:
自動(dòng)的(auto)
靜態(tài)的(static)
寄存器的(register)
外部的(extern)。
C語(yǔ)言局部變量的存儲(chǔ)類別
自動(dòng)變量(auto變量)
函數(shù)中的局部變量,如果不專門聲明static存儲(chǔ)類別,都是動(dòng)態(tài)地分配存儲(chǔ)空間的,數(shù)據(jù)存儲(chǔ)在動(dòng)態(tài)存儲(chǔ)區(qū)中。自動(dòng)變量用關(guān)鍵字auto做存儲(chǔ)類別聲明。
靜態(tài)局部變量(static局部變量)
函數(shù)中的局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而繼續(xù)保留原值,即其占用的存儲(chǔ)單元不釋放,在下一次再調(diào)用該函數(shù)時(shí),該變量已有值。
寄存器變量(register變量)
為提高執(zhí)行效率,允許將局部變量的值放在CPU中的寄存器中,需要用時(shí)直接從寄存器取出參加運(yùn)算,不必再到內(nèi)存中去存取。由于對(duì)寄存器的存取速度遠(yuǎn)高于對(duì)內(nèi)存的存取速度,因此這樣做可以提高執(zhí)行效率,這種變量叫寄存器變量,用關(guān)鍵字register作聲明。
C語(yǔ)言全局變量的存儲(chǔ)類別
在一個(gè)文件內(nèi)擴(kuò)展外部變量的作用域
如果由于某種考慮,在定義點(diǎn)之前的函數(shù)需要引用該外部變量,則應(yīng)該在引用之前用關(guān)鍵字extern對(duì)該變量作“外部變量聲明”,表示把該外部變量的作用域擴(kuò)展到此位置。
將外部變量的作用域擴(kuò)展到其他文件。
將外部變量的作用域限制在本文件中。
注意,用auto、register和static聲明變量時(shí),是在定義變量的基礎(chǔ)上加上這些關(guān)鍵字,而不能單獨(dú)使用。
c語(yǔ)言中文件的存儲(chǔ)方式?
c語(yǔ)言文件系統(tǒng)的存取有三種 :
1. 順序存取 順序存取是按照文件的邏輯地址順序存取。 固定長(zhǎng)記錄的順序存取是十分簡(jiǎn)單的。
2. 直接存取(隨機(jī)存取法) 很多應(yīng)用場(chǎng)合要求以任意次序直接讀寫某個(gè)記錄。
3. 索引存取 第三種類型的存取是基于索引文件的索引存取方法。