c++可以定义一个空数组吗

c++可以定义一个空数组吗?若可以,该怎么定义?... c++可以定义一个空数组吗?若可以,该怎么定义? 展开
 我来答
匿名用户
推荐于2018-05-17
展开全部
  c++不能定义空数组,数组是在栈上分配的;
  一个长度为0的数组称之为“空数组”,空数组是一个真正的对象,只是包含元素个数为0。
  null数组是一个空引用。
  假设一个方法返回一个数组,如果它返回null,则调用方法必须先判断是否返回null,才能对放回数组进一步处理,而如果返回空数组,则无须null引用检查。鉴于此,返回数组的方法在没有结果时通常返回空数组,而不是null,这样处理比较方便。
  空数组即下标为0的数组,如a[0]。在函数中声明空数组是没有任何意义的,当然也编译不过。而在类或结构体中,是可以这样声明的。
  
我是cHm
2019-07-31
知道答主
回答量:20
采纳率:0%
帮助的人:9718
展开全部

可以定义,前面的人说数组是在栈上分配的,是因为他是定义在主函数里面的。只要定义在主函数上面,“using namespace std;”下定义就可以定义在堆上。

#include<bits/stdc++.h>
//别问我这是什么头文件,这是c++老师教我们的万能头文件(哎呀,透露了)
using namespace std;
int a[15005][15005];//<<<<<<<<<定义在这
int main()
{
    
    return 0;
}
//额,我定义的是二维数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-29
展开全部
应该是说长度为0的数组吧准确的说,是不可以的但是某些c++编译器允许定义 int a[]或int a[0],这其实是c里面的方式,gcc把这个特性扩展到了c++里面。定义这种貌似长度为0的数组,其实是为了实现变长数组。不知道是不是想问这个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-29
展开全部
显然不能定义空数组,数组是在栈上分配的,那么就一个要有一个首地址让EBP寄存器来索引他的位置,要是空的数组,CPU又怎么会知道有这么一个数组存在呢?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式