C++とC言語における動的メモリ割り当ての違い

2572 ワード

C言語とC++で動的メモリの申請割当が使用される問題ですが、両者の間で動的メモリ割当が申請されるかは異なります.
C++における動的メモリの割り当て
1、C++はnewキーで動的メモリの割り当てを行う.newキーワードはC++に内蔵されたキーワードで、つまりC++コンパイラであればnewキーワードを使用してダイナミックメモリの割り当てが可能です.2、C++におけるダイナミックメモリの割り当ては、与えられたタイプで割り当てられます.3、C++でdeleteキーでメモリを解放する.
C++のメモリ申請と解放方法は以下の通りである:変数申請:
Type* pointer = new Type;
// .....
delete pointer;

配列申請:
Type* pointer = new Type[N];
// .....
delete[] pointer;

新キーワードとmalloc関数の違い
新キーワードはC++の一部であるmalloc関数はCライブラリから提供される関数である
新タイプ単位で動的メモリの割り当てmalloc関数バイト単位で動的メモリの割り当てを行う
Newは、単一タイプの変数を動的に申請する場合、mallocを初期化することができ、メモリの初期化能力を備えていない
newキーワードがメモリを申請する際の初期化
int* pi = new int(1);	//     1
float* pf = new float(2.0f);	//     2.0f
char* pc = new char('c');	//     c