C 陣列到底可以開多大?

2021-07-30 11:59:22 字數 578 閱讀 6264

乙個由c/c++編譯的程式占用的記憶體分為以下幾個部分  

1、棧區(stack)—   由編譯器自動分配釋放   ,存放函式的引數值,區域性變數的值等。其  

操作方式類似於

資料結構

中的棧。  

2、堆區(heap)   —   一般由程式設計師分配釋放,   若程式設計師不釋放,程式結束時可能由os回  

收   。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶,呵呵。  

3、全域性區(靜態區)(static)—,全域性變數和靜態變數的儲存是放在一塊的,初始化的  

全域性變數和靜態變數在一塊區域,   未初始化的全域性變數和未初始化的靜態變數在相鄰的另  

一塊區域。   -   程式結束後由系統釋放。  

4、文字常量區   —常量字串就是放在這裡的。   程式結束後由系統釋放  

5、程式**區—存放函式體的二進位制**。  

這是乙個前輩寫的,非常詳細    

int   a   =   0;   全域性初始化區    

char   *p1;   全域性未初始化區    

main()    

;

有關C 陣列溢位問題,C 陣列可以開多大

乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其 操作方式類似於 資料結構 中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時 可能由os回 收 注意它與資料結構中的堆是兩回事,...

RE陣列開多大?

includeusing namespace std int a 200 200 int main for int j 1 j 200 j m 0 while cin m n n 0 m 0 return0 ackermann函式的非遞迴求值 描述已知ackermann函式定義如下 寫出計算ack ...

簡言C語言使用技巧之陣列到底有多大

乙個陣列的所有元素都是同型別的。eg int test array1100 這個語句的意思就是定義乙個陣列 他的名字是est array 他有100個元素 每個元素都是int型的 注意 這個陣列有100個元素,不是101個,這裡不從零開始數,那麼什麼時候從零開始數呢?答 下標!下標是從0開始標號的 ...