请各位C++高手帮我看一下这道简单的C++填空题

请对填空处解释一下谢谢了!//2、下列程序的功能是:从堆中获取一个整数数组,赋值并打印。#include<iostream.h>#include<alloc.h>void... 请对填空处解释一下谢谢了!
//2、下列程序的功能是:从堆中获取一个整数数组,赋值并打印。
#include <iostream.h>
#include <alloc.h>
void main()
{
int arraysize; //定义元素个数
int * array;
cout<<"please input a number of array:"<<endl;
cin>>arraysize;
if(array= 在此填空 )==Null) //请对这里解释一下
{
cout<<"Can't allocate more memory!"<<endl;
exit(1);
}
for(int count=0;count<arraysize;count++)
array[count]=count*2;
for(int count=0;count<arraysize;count++)
cout<<array[count]<<" ";
cout<<endl;
( 在此填空 ) ;
}
展开
 我来答
百度网友162330b9d
2008-06-23 · TA获得超过215个赞
知道答主
回答量:116
采纳率:0%
帮助的人:94.9万
展开全部
第一个:if(array= new(arraysize*int) )==Null) //此句的目的是在内存中动态的申请空间,确切地说,是在堆内存中申请空间,在C++中动态申请内存是用new关键字的,而在C语言中这儿就应该是if(array= malloc(arraysize*int) )==Null),同样是在堆内存中;如果分配内存不成功,比如说当前没有足够的内存空间,系统就不给它分配,也就是空内存Null;

第二个空,delete(array);//此句的功能是释放动态分配的内存空间,C++中的动态内存空间是完全靠程序员来申请和释放的,而如果在Java中,这条语句也就没有必要可,因为Java中系统会自动地定时检查当前有没有不用的堆内存并且释放

所以,第一个空是申请内存,第二个空是释放内存.
黑暗死灵法师
2008-06-23 · TA获得超过272个赞
知道答主
回答量:78
采纳率:0%
帮助的人:0
展开全部
第一个填空处是用来申请动态内存空间并将该空间的指针赋值给变量array
if(array= 在此填空 )==Null)是当你申请的内存大于系统空闲内存空间时的错误反馈

第二个填空....不知道填什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式