可以在定义结构体数组时把变量直接初始化吗

 我来答
百度网友e096309
2017-01-17 · TA获得超过1326个赞
知道小有建树答主
回答量:501
采纳率:96%
帮助的人:407万
展开全部

可以呀,试试就知道了:

#include <stdio.h>

struct A {
    int a;
    float b;
    const char* c;
};

int main() {
    struct A aa[] = {{1, 1.1, "1.1.1"}, {2, 2.2, "2.2.2"}};
    int n = sizeof(aa) / sizeof(aa[0]);
    for(int i=0; i<n; i++) {
        printf("%d, %f, %s\n", aa[i].a, aa[i].b, aa[i].c);
    }

    return 0;
}

定义单个结构体可以struct A a = {1, 1.1, "1.1.1"};所以结构体数组,就是像上面那样写就好了。

需要注意的是,每个结构体里面的三个参数顺序必须跟结构体里定义的顺序一致。

匿名用户
2017-01-16
展开全部
结构体里面弄一个构造函数.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pyf19980330
2017-01-16 · TA获得超过774个赞
知道小有建树答主
回答量:778
采纳率:100%
帮助的人:492万
展开全部
可以初始化,就像一般数组也可以初始化一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编程大王
2017-01-16 · TA获得超过922个赞
知道小有建树答主
回答量:979
采纳率:51%
帮助的人:109万
展开全部
不能,使用{}形式赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式