c++ 堆空间的初始化

c++ 申请堆空间两种方式:malloc 和 new(malloc申请后必须free,new申请后之后必须delect)

int *p1 = (int *)malloc(sizeof(int))与int *p1 = new int;

都是在堆里申请四个字节的空间然后将栈里的指向int型的指针p1指向了堆空间

c++ 堆空间的初始化:

int *p1 = (int *)malloc(sizeof(int)); //*p1 未初始化

int *p2 = (int *)malloc(sizeof(int));

memset(p2,0,sizeof(int));//将*p2的每一个字节都初始化为0

int *p1 = new int;             //未被初始化

int *p2 = new int();     //被初始化为0

int *p3 = new int(1);    //被初始化为1

int *p4 = new int[3];        //数组元素未被初始化

int *p5 = new int[3]();        //3个数组元素被初始化为0

int *p6 = new int[3]{};        //3个数组元素被初始化为0

int *p7 = new int[3]{1};        //数组首元素初始化为1,其余元素被初始化为0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值