討論下記憶體空間分配在堆區,棧區不同點

2021-08-15 01:53:26 字數 501 閱讀 7415

//str所指向的記憶體空間能修改才行,否則會報錯

int trimspace2(char *str)

//int isspace(int c)

//函式說明:檢查引數c是否為空格字元 是 返回true(1)

while (isspace(p[i]) && p[i] != '\0')

while (isspace(p[j]) && p[j] != '\0')

ncount = j - i + 1;

//strncpy(char *s1, const char *s2, int n)

//其中有三個引數分別表示目標字串s1,源字串s2,拷貝長度。

//意思是將s2指向的字串的前n個長度的字元放到s1指向的字串中,並將s1原有的前n個字元覆蓋.

strncpy(str, str + i, ncount);

str[ncount] = '\0';

return ret;

}int  main()

記憶體分配空間中的堆區和棧區的區別

在c語言中,記憶體分配的空間一般分為六個區。常量 區 資料段區 bss段 堆空間 棧空間以及記憶體空間。記憶體空間是從下向上增長的。1 常量區 用來存放 和常量 2 資料段 用來存放初始化的靜態變數和全域性變數 3 bss段 用來存放未初始化的靜態變數和全域性變數 4 堆空間 動態malloc申請的...

記憶體分配 靜態儲存區 棧 堆

一 記憶體基本構成 可程式設計內存在基本上分為這樣的幾大部分 靜態儲存區 堆區和棧區。他們的功能不同,對他們使用方式也就不同。靜態儲存區 內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。它主要存放靜態資料 全域性資料和常量。棧區 在執行函式時,函式內區域性變數的儲存單元都可以在...

記憶體分配 靜態儲存區 棧 堆

一 記憶體基本構成 可程式設計內存在基本上分為這樣的幾大部分 靜態儲存區 堆區和棧區。他們的功能不同,對他們使用方式也就不同。靜態儲存區 內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。它主要存放靜態資料 全域性資料和常量。棧區 在執行函式時,函式內區域性變數的儲存單元都可以在...