注意new int(100)和new int[100]

        事情是这样的,昨晚我在分配一个大小为n的数组空间时,无意将new int[n]写成了new int(n)  //注:n通过参数传递进来

编译时程序没有出错,结果我在使用new int(n)分配的数组空间时,程序老是报错,提示栈溢出。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

今天看了一下书,原来new int(100)和new int[100]是两种完全不一样的用法。

new int(100)只分配一个存放int整型的内存空间,返回一个指向该整型空间的指针,并且指定内存中的初始值为100,

相当于int a=100或int *b=new int(100);

----------------------------------------------------------------------------------------------------------------------------------------------------------------

new int[100]分配100个int整型大小的内存空间,返回指向该空间的首地址的指针。

如int *arr=new int[100];

释放空间数组空间用delete[ ] arr;千万不能这样用delete arr,这样只释放第一个数组的空间而已。

------------------------------------------------------------------------------------------------------------------------------------------------------------------







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

friendan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值