在结构中初始化数组
发布时间:2020-12-16 07:13:36 所属栏目:百科 来源:网络整理
导读:我宣布了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,e
我宣布了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}}; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读