首页 新闻 赞助 找找看

C语言中结构体的成员数组赋值问题

0
悬赏园豆:50 [待解决问题]

这是克鲁斯卡尔算法的前一部分,是对结构体的定义和数据初始化,和具体算法内容无关,编译总是出错,如下图

复制代码
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define MAXVER 6
 4 //定义图的数据结构
 5 struct Graph
 6 {
 7     int arc[MAXVER][MAXVER];//邻接矩阵
 8     int ver[MAXVER];//顶点集
 9     int numVertexes;//图的顶点总数,边数
10     int numEdeges;
11 };
12 //定义边的数据结构
13  struct Edge
14 {
15     int begin;
16     int end;
17     int weight;//边长
18 };
19 void main()
20 {
21     struct Edge temp;
22 
23 
24     //创建图,并初始化
25     struct Graph *myGraph=(struct Graph*)malloc(sizeof(struct Graph));
26     //创建并初始化线性表a
27     struct Edge a[10]={{1,2,6},{1,3,1},{1,4,5},{2,3,5},{2,5,3},{3,4,5},{3,5,6},{3,6,4},{4,6,2},{5,6,6}};
28     struct Edge b[10];
29     myGraph->ver[MAXVER]={0,0,0,0,0,0};
30     //初始化邻接矩阵
31     myGraph->arc[MAXVER][MAXVER]={{0,6,1,5,0,0},{6,0,5,0,3,0},{1,5,0,5,6,4},{5,0,5,0,0,2},{0,3,6,0,0,6},{0,0,4,2,6,0};
32     //初始化顶点数,边数
33     myGraph->numVertexes = 6;
34     myGraph->numEdeges = 10;
35 }
复制代码

04.c(29) : error C2059: syntax error : '{'

04.c(31) : error C2059: syntax error : '{'

这是为什么,,求高手指教。

沐一的主页 沐一 | 初学一级 | 园豆:154
提问于:2016-10-09 12:56
< >
分享
所有回答(3)
0

换了一种写法,把数组元素分开赋值了,编译通过,不过原因不明。

沐一 | 园豆:154 (初学一级) | 2016-10-09 17:13

因为数组赋值你的这个写法是初始化定义时在才能这样写的 int a[3] = {1,2,3}这样才可以

支持(0) 反对(0) 漂洋过海的熊 | 园豆:210 (菜鸟二级) | 2018-07-05 20:36
0

29 行改为:myGraph->ver[MAXVER]={{0,0,0,0,0,0}};;

31 行后面少了一个 }

CodeHsu | 园豆:5468 (大侠五级) | 2016-10-09 17:21

改了,还是不行

支持(0) 反对(0) 沐一 | 园豆:154 (初学一级) | 2016-10-09 17:35
0

数组除了初始化不能这样赋值的,你要给这个数组赋值就得循环一个个赋值了。

漂洋过海的熊 | 园豆:210 (菜鸟二级) | 2018-07-05 20:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册