c语言结构体的使用

按照下面的源程序为什么显示是有错误的?应该怎样改?是一个给结构体赋值的过程
struct str
{
int map[10][10];
int num_rand;

}_map[10];

_map[0].map={
1,1,0,0,1,0,0,0,1,2,
0,0,1,0,0,1,1,0,1,0,
1,0,1,0,0,0,1,0,0,0,
1,0,1,0,1,0,1,0,0,1,
1,0,1,0,1,0,0,0,0,0,
1,0,1,0,0,0,1,1,1,0,
1,0,0,1,0,0,1,0,0,0,
0,0,0,0,0,0,0,1,1,1,
0,1,0,1,1,0,0,0,0,0,
3,1,0,0,0,1,1,1,1,0
};
_map[1].map={
1,1,1,1,1,1,2,1,1,1,
1,0,0,1,0,0,0,0,0,1,
1,1,0,0,0,1,0,1,0,1,
1,0,0,1,0,0,0,1,0,1,
1,0,1,1,0,1,0,0,0,1,
1,0,1,0,1,0,0,1,1,1,
1,0,0,0,0,0,0,0,0,1,
1,1,1,1,0,1,0,1,1,1,
3,0,0,0,0,1,0,0,0,1,
1,1,1,1,1,1,1,1,1,1
};

必须初始化过程中赋值,否则只能单个单个。
可以这样:
struct str
{
int map[10][10];
int num_rand;

}_map;

_map map[10] =
{
{
{
1,1,0,0,1,0,0,0,1,2,
0,0,1,0,0,1,1,0,1,0,
1,0,1,0,0,0,1,0,0,0,
1,0,1,0,1,0,1,0,0,1,
1,0,1,0,1,0,0,0,0,0,
1,0,1,0,0,0,1,1,1,0,
1,0,0,1,0,0,1,0,0,0,
0,0,0,0,0,0,0,1,1,1,
0,1,0,1,1,0,0,0,0,0,
3,1,0,0,0,1,1,1,1,0
},
num_rand的值,
}

{
{
1,1,1,1,1,1,2,1,1,1,
1,0,0,1,0,0,0,0,0,1,
1,1,0,0,0,1,0,1,0,1,
1,0,0,1,0,0,0,1,0,1,
1,0,1,1,0,1,0,0,0,1,
1,0,1,0,1,0,0,1,1,1,
1,0,0,0,0,0,0,0,0,1,
1,1,1,1,0,1,0,1,1,1,
3,0,0,0,0,1,0,0,0,1,
1,1,1,1,1,1,1,1,1,1
},
num_rand的值,
}

后面8组....

}追问

单个单个是什么意思

追答

就是只能

map[0].map[0][0] = 1
map[0].map[0][1] = 1
map[0].map[0][2] = 0
....

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-21
typedef struct
{
int map[10][10];
int num_rand;

}_map[10];
第2个回答  2013-05-21
数组赋值是一个一个的赋值,大括号用来初始化追问

能不能说得明白一些,除了数组中挨个赋值还有没有其他的方法

相似回答