c++ new二维数组

c++ new二维数组


2024年4月28日发(作者:)

c++ new二维数组

c++ new二维数组 1

new关键字

new关键字用于申请一段动态内存空间,位于堆上,在程序运

行过程中才执行。可以用来创新数组和实例化对象。如图所

示:用new申请一维动态数组,大小为5。

int*arrayPtr=newint[5];

其中new后面接的是对象,上面为一个int[5]的数组,其返

回值为指向数组元素的指针变量。即申请了sizeof(int)*5个

字节大小的内存,并返回其地址值存放于指针arrayPtr中。

二维数组动态申请

方法一

int**arrayPtr=newint*[5];for(int i=0;i<5;++i){

arrayPtr[i]=newint[5];}

其中,第一行的new申请了sizeof(int*)x5个字节大小空

间,并将其地址值存放于二级指针arrayPtr中(此处应为二

级指针,因为指向的数组元素为一级指针),简单点说就是申

请了一个数组大小为5,元素数据类型为 int* 的数组。for

循环的代码表示的是遍历arrayPtr数组(里面元素为int*)里

的每一个元素,并申请大小为5的一维数组。如下图所示:

方法二

int(*arrayPtr)[5]=newint[5][5];

其中,new申请了sizeof(int)x5x5的内存大小,并将其地址

值存储于指针arrayPtr,arrayPtr为数组指针,指向int[5]

的数组。也就是说,创建了一个大小为5的数组,数组中的元

素为int[5],所以其地址值保存的指针类型为指向int[5]的

指针类型,就是int(*)[5]。如下图所示:

最后

实际上,第一种方法和第二种方法的区别在于,第一种方法使

用的是指针数组,第二种方法使用的是数组指针。不同的方法

导致不同类型的指针用于存储地址值。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714260484a2412329.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信