4个回答
推荐于2018-05-17
展开全部
c++不能定义空数组,数组是在栈上分配的;
一个长度为0的数组称之为“空数组”,空数组是一个真正的对象,只是包含元素个数为0。
null数组是一个空引用。
假设一个方法返回一个数组,如果它返回null,则调用方法必须先判断是否返回null,才能对放回数组进一步处理,而如果返回空数组,则无须null引用检查。鉴于此,返回数组的方法在没有结果时通常返回空数组,而不是null,这样处理比较方便。
空数组即下标为0的数组,如a[0]。在函数中声明空数组是没有任何意义的,当然也编译不过。而在类或结构体中,是可以这样声明的。
一个长度为0的数组称之为“空数组”,空数组是一个真正的对象,只是包含元素个数为0。
null数组是一个空引用。
假设一个方法返回一个数组,如果它返回null,则调用方法必须先判断是否返回null,才能对放回数组进一步处理,而如果返回空数组,则无须null引用检查。鉴于此,返回数组的方法在没有结果时通常返回空数组,而不是null,这样处理比较方便。
空数组即下标为0的数组,如a[0]。在函数中声明空数组是没有任何意义的,当然也编译不过。而在类或结构体中,是可以这样声明的。
展开全部
可以定义,前面的人说数组是在栈上分配的,是因为他是定义在主函数里面的。只要定义在主函数上面,“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又怎么会知道有这么一个数组存在呢?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询