正規化程式設計 值的交換之關於靜態儲存區

2021-06-21 14:49:00 字數 629 閱讀 3128

#include

#include

#include

void swap( void* vp1, void* vp2, int isize )

}void main()

//鏈結搜尋 字串常量到底存放在哪個儲存區

乙個由c/c++

編譯的程式占用的記憶體分為以下幾個部分

1、棧區(

stack)— 

由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。其

操作方式類似於資料結構中的棧。

2、堆區(

heap

) — 

一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由os回

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

3、全域性區(靜態區)(

static)—

,全域性變數和靜態變數的儲存是放在一塊的,初始化的

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

一塊區域。 - 

程式結束後由系統釋放。

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

5、程式**區

—存放函式體的二進位制**。

程式設計正規化之棧的抽象操作

首先,我們需要在棧中設定乙個抽象的儲存結構,void elem,其需要動態分配堆記憶體,宣告如下所示 typedef struct stack void stacknew stack s,int elem size,void freefn void elem void push stack s,vo...

關於靜態頁面HTML之間值的傳遞

最近遇到乙個小問題,就是在html之間傳值,當然可以通過用jsp和servlet傳遞,或者用ajax互動,但是遇到了這麼乙個問題,就只用html和js傳遞值。想到乙個很笨拙方法,首先在a頁面裡面的js裡跳轉 window.location.href b.html?param 這裡的b.html就是要...

關於Vue值繫結的問題(靜態和動態)

對於單選按鈕,核取方塊及選擇框的選項,v model 繫結的值通常是靜態字串 對於核取方塊也可以是布林值 當選中時,picked 為字串 a radio v model picked value a checkbox v model toggle 當選中第乙個選項時,selected 為字串 abc...