C和C 的區別之動態記憶體申請

2021-08-31 16:03:54 字數 1724 閱讀 2498

c語言中:

申請記憶體空間的標頭檔案是#include ,最重要的是不要忘記釋放申請的記憶體空間,防止記憶體洩漏

申請乙個結點的記憶體空間

#include #include #include int main()

申請一維陣列的記憶體空間

#include #include #include #define size 10

int main()

for(int i = 0;i < size;i++) //列印一維陣列

printf("\n");

free(arr); //釋放空間

return 0;

}

申請二維陣列的記憶體空間,示例為5 * 5的二維陣列:

#include #include #include int main()

for(int i = 0;i < 5;i++) //給二維陣列賦值 }

for(int i = 0;i < 5;i++) //列印二維陣列

printf("\n");

} for(int i = 0;i < 5;i++) //釋放記憶體

free(arr);

return 0;

}

c++中:

在c++中,用new來申請記憶體空間,delete來釋放申請的記憶體空間

申請乙個結點的記憶體空間

#include #include using namespace std;

int main()

申請一維陣列的記憶體空間

#include #include using namespace std;

int main()

for(int i = 0;i < 10;i++) //列印

cout << endl;

delete arr; //釋放申請的記憶體空間

return 0;

}

申請二維陣列的記憶體空間,示例是5*5的二維陣列:

#include #include using namespace std;

int main()

for(int i = 0;i < 5;i++) //賦值 }

for(int i = 0;i < 5;i++) //列印二維陣列

cout << endl; }

for(int i = 0;i < 5;i++) //釋放申請的記憶體空間

delete arr;

return 0;

}

c++和c語言自定義型別的區別:

c語言的自定義型別只允許存放成員變數

c++的自定義型別不僅存在成員變數,還可以存在成員方法,當然,成員變數佔記憶體,成員方法不佔記憶體

struct stack

void push( int val);

void pop();

int top();

void destroy();

bool isempty();

void resize();

};

最後呢,在提醒一點,若是自定義型別為空,struct a;c語言中為0個位元組,而在c++中佔1個位元組……

C 旅途 之 申請動態記憶體和釋放

對於不想使用固定長度的陣列,一般會考慮動態申請 而在c中是相當麻煩的操作,在c 中就變得特別簡單 一 申請動態陣列 int n cin n int arr new int n 如上就是為arr陣列申請了大小為n的空間 但是如果寫為 int n cin n int a n 這樣的寫法是錯的 是對長度的...

C語言動態記憶體申請分析

1 c語言中的一切操作都是基於記憶體的 2 變數和陣列都是記憶體的別名 1 記憶體分配由編譯器在編譯期間決定 2 定義陣列的時候必須指定陣列的長度 3 陣列的長度是在編譯期間就必須確定的 1 malloc和free用於執行動態記憶體分配和釋放 2 malloc所分配的是一塊連續的記憶體 3 mall...

c 之動態記憶體

了解動態記憶體在 c 中是如何工作的是成為一名合格的 c 程式設計師必不可少的。c 程式中的記憶體分為兩個部分 很多時候,您無法提前預知需要多少記憶體來儲存某個定義變數中的特定資訊,所需記憶體的大小需要在執行時才能確定。在 c 中,您可以使用特殊的運算子為給定型別的變數在執行時分配堆內的記憶體,這會...