C++中 int a[]={} 可以这么写吗?

 我来答
microroom
科技发烧友

2021-05-10 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1602万
展开全部

这与编译器以及编译器支持的c++标老雹枯准有关。

在有的编译器上:

int a[]={};

int b[0];

int c[0]={};

都是可以侍洞的。

这其实就是定义了一个零长度的数肆手组。

下面是一个例子:

#include <iostream>

using namespace std;

int main()

{

int a[]={},b[0],c[0]={};

cout<<"可以的"<<endl;

cout<<"sizeof(a)=";

cout<<sizeof(a)<<endl;

cout<<"sizeof(b)=";

cout<<sizeof(b)<<endl;

cout<<"sizeof(c)=";

cout<<sizeof(c)<<endl;

return 0;

}

这是我运行后的截图:

Yuqi_Tan

2021-05-10 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3445万
展开全部
不可以。
①a后面的[]内不能为空,必须用常数指粗指稿散定数组的大小,如:a[10]等等。
②{}内也不能为空,必须至少有一个元素。如:
int a[3]={1,2,3};

int a[3]={1};
③句末应该加上一个分号(;),否则岩敬配也出错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KlarkKenter
2021-05-10 · TA获得超过1681个赞
知道小有建树答主
回答量:1540
采纳率:0%
帮助的人:359万
展开全部

上面的回答张口就来,纤羡{}中只要有初始化的元素,是可以这大改样写的滚竖判。字符串经常这样来初始化的:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4fc9d11e4
2021-05-09 · TA获得超过287个赞
知道小有建树答主
回答量:288
采纳率:71%
帮助的人:32.2万
展开全部
不可以,数组必须指定长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式