1. c語言中靜態儲存和動態儲存是什麼意思
靜態存儲就是在寫程序的時候,保留下空間,動態存儲是通過malloc函數申請空間
2. 在C語言中,什麼是動態存儲,什麼是靜態存儲
動態存儲是auto關鍵字,例如我們定義的int
a;
默認就是動態存儲,具體應該是
auto
int
a;一般是用於函數參數,局部變數,超出作用域范圍會失效,變數產生在動態存儲區
靜態存儲時static關鍵字,例如,我們定義一個
static
int
a;
就是存儲在靜態存儲區,相當於一個全局變數
一樓的理解出現了問題
3. C語言動態和靜態存儲類別的區別
主要區別在於存儲區域和作用時間。
C語言的數據區分為靜態存儲區與動態存儲區。
靜態存儲是指在程序運行期間給變數分配固定存儲空間的方式。如全局變數存放在靜態存儲區中,程序運行時分配空間,程序運行完釋放。
動態存儲是指在程序運行時根據實際需要動態分配存儲空間的方式。如形式參數存放在動態存儲區中,在函數調用時分配空間,調用完成釋放。
4. 靜態存儲器與動態存儲器的定義是什麼
靜態存儲器是指依靠雙穩態觸發器的兩個穩定狀態保存信息的存儲器。雙穩態電路是有源器件,需要電源才能工作,只要電源正常,就能長期穩定的保存信息,所以稱為靜態存儲器。如果斷電,信息將會丟失,屬於揮發性存儲器,或稱易失性。
動態存儲器是指在指定功能或應用軟體之間共享的存儲器。如果一個或兩個應用軟體佔用了所有存儲器空間,此時將無法為其他應用軟體分配存儲器空間。需要由存儲器控制電路按一定周期對存儲器刷新,才能維系數據保存。
(4)數據結構什麼叫做動態存儲擴展閱讀:
動態存儲器的工作原理
動態RAM是由許多基本存儲元按照行和列地址引腳復用來組成的。在3管動態RAM電路中,讀選擇線和寫選擇線是分開的,讀數據線和寫數據線也是分開的。
寫操作時,寫選擇線為"1",Q1導通,要寫入的數據通過Q1送到Q2的柵極,並通過柵極電容在一定時間內保持信息。
讀操作時,先通過公用的預充電管Q4使讀數據線上的分布電容CD充電,當讀選擇線為高電平有效時,Q3處於可導通的狀態。若原來存有"1",則Q2導通,讀數據線的分布電容CD通過Q3、Q2放電。此時讀得的信息為"0",正好和原存信息相反。
可見,對這樣的存儲電路,讀得的信息和原來存入的信息正好相反,所以要通過讀出放大器進行反向再送往數據匯流排。
5. 動態存儲區與靜態存儲區的區別
靜態和動態是相對於他們的存儲結構來的,靜態變數存儲在一個叫「堆」的結構里,而動態變數則存儲在「棧」的結構里,棧的特點是先進後出,咱們平常的所寫程序的運行方式都是以棧的形式運行的,參考http://ke..com/view/38877.htm,比如一個函數A調用了函數B,B調用了函數C,由於根據馮諾依曼的順序存儲,順序執行的原理,程序限制性A,於是就把A壓入棧里,同時把A相關的變數也壓入,A調用B時,再把B壓入棧里,.......,C執行完後,彈出棧,隨之C裡面定義的變數就失去了意義(離開了作用域),然後繼續執行B,.....,但如果變數是放到「堆」里,除非認為的將變數釋放,則一直存儲在裡面,棧的彈出壓入對它並沒有根本影響,參考http://ke..com/view/249120.htm,解釋或者有誤...請指正。
6. 靜態存儲和動態存儲的區別
1. 靜態內存
靜態內存是指在程序開始運行時由編譯器分配的內存,它的分配是在程序開始編譯時完成的,不佔用CPU資源。
程序中的各種變數,在編譯時系統已經為其分配了所需的內存空間,當該變數在作用域內使用完畢時,系統會
自動釋放所佔用的內存空間。
變數的分配與釋放,都無須程序員自行考慮。
基本類型,數組
2. 動態內存
用戶無法確定空間大小,或者空間太大,棧上無法分配時,會採用動態內存分配。
處理器不工作,電腦什麼都做不了。
處理器的工作就是處理指令(多條指令就構成一個程序)。
處理器從內存中取指令集(程序)。
問題是如果斷電的話,內存中的指令就會丟失。因而內存歸類為「易失性」介質。
所以我們要把程序、數據存儲在不易失性的介質中,比如硬碟和光碟。
7. 什麼是動態存儲什麼時候用
存儲器分為內存和外存
內存又分為靜態存儲和動態存儲
動態存儲就是指內存條(這只是我的個人意見)
當你的電腦運行時,硬碟中的信息就會傳到內存條中,然後再傳給CPU處理。也就是說當你的電腦打開後,你的動態存儲器已經開始在用了。
舉個例子:
硬碟就相當於冰箱,內存條就相當於切菜用的案板,CPU就相當於菜刀。要完成某向程序就如同:把材料從冰箱里拿出來,再放到案板上,用刀完成。你所說的那個動態存儲就是案板,是臨時存放你當前打開的程序的。
8. 靜態存儲和動態存儲的區別
區別
a)
靜態內存分配在編譯時完成,不佔用CPU資源;
動態內存分配在運行時,分配與釋放都佔用CPU資源。
b)
靜態內存在棧(stack)上分配;
動態內存在堆(heap)上分配。
c)
動態內存分配需要指針和引用類型支持,靜態不需要。
d)
靜態內存分配是按計劃分配,由編譯器負責;
動態內存分配是按需分配,由程序員負責。
9. 什麼是靜態存儲區和動態存儲區啊
從變數的生存期分,有動態存儲和靜態存儲兩種,動態存儲即在調用函數時臨時分配單元,靜態存儲則是程序整個運行時間內都存在。
動態存儲
形式參數(本函數內有效)
auto自動變數(本函數內有效)
register寄存器變數(本函數有效)
靜態存儲
靜態局部變數(本函數內有效)
靜態外部變數(本文件中有效)
10. 什麼是靜態存儲器什麼是動態存儲器
靜態存儲器(SRAM):讀寫速度快,成本高,需要電源才能工作,斷電信息將丟失,多用於容量較小的高速緩沖存儲器.
動態存儲器(DRAM):讀寫速度較慢,集成度高,成本低,要求配置動態刷新電路,多用於容量較大的主存儲器.