专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

结构体中的数组的初始化有关问题

发布时间:2011-06-28 16:19:09 文章来源:www.iduyao.cn 采编人员:星星草
结构体中的数组的初始化问题
我的代码
C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
    {
    int length;
    int c[5];
    }b;
int main()
{ 
    b.c={1,2,3,4,5};
    
 }

调试时编译器报错,求指点

------解决方案--------------------
你那个结构体属于全局变量,在进入main之前就已经分配空间了。

{}只能用来来初始化,只有在定义的时候能用。给数组赋值是不能用{}的。


你的代码应该改成这样
C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
    {
    int length;
    int c[5];
    }b={0,1,2,3,4,5};//0是初始化给length的,后面5个是给数组的,要按顺序。
int main()
{ 
    
}

------解决方案--------------------
C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
    {
    int length;
    int c[5];
    }b;
int main()
{ 
int i;
for(i=0;i<5;i++)
    b.c[i]=i+1;  
 }

------解决方案--------------------
参考普通的数组 {1,2,3,4,5}这样的初始化只能在定义的时候

分配空间只能逐个赋值或者用循环赋值
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: