您的位置:首页 > 其它

指针-动态数组的建立

2015-12-21 13:07 337 查看

一、一维动态数组的建立

1.1 malloc

数组的建立:

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


数组的删除:

free(p);


1.2 new

数组的建立:

int * p = new int
;


数组的删除:

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 *
;
for (int i =0; i<n; i++)
{
p[i] = new int
;
}


数组的删除:

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删除指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: