指針-動態數組的建立

一、一維動態數組的建立

1.1 malloc
數組的建立:

    int * p = (int *)malloc(sizeof(int)*n);

數組的刪除:

    free(p);

1.2 new
數組的建立:

    int * p = new int[n];

數組的刪除:

    delete [] p;

二、二維動態數組的建立

2.1 malloc
數組的建立:

int ** p = (int **)malloc(sizeof(int *)* n);
for (int i =0; i<n; i++)
{
    p[i] = (int *)malloc(sizeof(int)*n);
}

數組的刪除:

for (int i=0; i<n; i++)
{
    free(p[i]);
}
free(p);

2.2 new
數組的建立:

int ** p = new int *[n];
for (int i =0; i<n; i++)
{
    p[i] = new int[n];
}

數組的刪除:

for (int i =0; i<n; i++)
{
    delete [] p[i];
}
delete p;

三、動態指針的建立

3.1 malloc

int * p = (int *)malloc(sizeof(int ));
free(p);

3.2 new

int * p = new int;
delete int;

四、指針的指針的建立

4.1 malloc

int ** p = (int **)malloc(sizeof(int *));
free(p);

4.2 new

int ** p = new int *;

五、其他的說明

malloc分配的內存,在C中,將內存分配在堆中;在C++中,分配在自由存儲區,由free結束使命。

new只能在C++中使用,內存分配在堆中。用delete刪除指針。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章