在结构中初始化数组

在结构中初始化数组,第1张

概述我宣布了2个结构: typedef struct{ int a; int b;}ma_Struct;typedef struct{ int x; ma_Struct tab[2];}maStruct_2; 目标是初始化maStruct_2的实例,所以我做的是: int main(){ ma_Struct elm1={0,1}; ma_Struct elm2={1, 我宣布了2个结构:

typedef struct{  int a;  int b;}ma_Struct;typedef struct{  int x;  ma_Struct tab[2];}maStruct_2;

目标是初始化maStruct_2的实例,所以我做的是:

int main(){ ma_Struct elm1={0,1}; ma_Struct elm2={1,2}; ma_Struct tab_Elm[2]={elm1,elm2}; maStruct_2 maStruct_2_Instance={1,tab_Elm};return 0;}

但我得到了初始化器周围缺少括号的警告,我尝试了这种语法

maStruct_2 maStruct_2_Instance={1,{tab_Elm}};

但同样的警告出现了.
请你帮助我好吗

解决方法 在C中,您不能使用另一个数组名称作为初始化程序来初始化数组.

因此,错误与结构本身无关,也与范围或常量表达式无关.

像这样修复你的代码:

maStruct_2 maStruct_2_Instance = {1,{elm1,elm2}};
总结

以上是内存溢出为你收集整理的在结构中初始化数组全部内容,希望文章能够帮你解决在结构中初始化数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1227833.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存