结构体内的二维数组怎么初始化

董杉菜 2017-11-28 01:04:15
不知道这样子问是不是不够专业。
比如

#include <cstdio>
using namespace std;
struct Map{
int map[11][14];
}mapp[10];

我想利用做一个小游戏,用结构体来把每个关卡的地图存进去,方便调用。
比如我有一个地图想要存进去

{
{ 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 },
{ 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 3, 3, 1 },
{ 0, 0, 0, 0, 1, 4, 0, 0, 1, 0, 0, 1, 3, 3, 1 },
{ 0, 0, 1, 1, 1, 0, 0, 4, 1, 1, 0, 1, 3, 3, 1 },
{ 0, 0, 1, 0, 0, 4, 0, 4, 0, 1, 0, 1, 0, 0, 1 },
{ 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1 },
{ 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1 },
{ 1, 0, 4, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1 },
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 },
{ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1 ,1, 0, 0, 0, 0 }
};

然后应该怎么赋值进去?
或者有没有什么更加好用的办法呢?或者指针,指针还不是很会用,也可以讲讲
...全文
500 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sparrowtj 2017-11-29
#include <cstdio> using namespace std; struct Map{ int map[11][14]; }mapp[10] = { { { 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 }, { 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 3, 3, 1 }, { 0, 0, 0, 0, 1, 4, 0, 0, 1, 0, 0, 1, 3, 3, 1 }, { 0, 0, 1, 1, 1, 0, 0, 4, 1, 1, 0, 1, 3, 3, 1 }, { 0, 0, 1, 0, 0, 4, 0, 4, 0, 1, 0, 1, 0, 0, 1 }, { 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1 }, { 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1 }, { 1, 0, 4, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 1 }, { 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1 }, { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1 ,1, 0, 0, 0, 0 } }, {第二关的数据}, {第三关的数据}, ... }; 另:你的二维数组明显定义的是[11][14],赋值却是[11][15]
  • 打赏
  • 举报
回复
赵4老师 2017-11-28
“变量赋值”和“变量初始化”不是一回事! “变量赋值”发生在运行期,其写法遵循赋值语法规定。 “变量初始化”发生在编译期或运行期,其写法遵循初始化列表语法规定。
  • 打赏
  • 举报
回复
CT8100 2017-11-28
对结构体对象中的元素进行赋值操作如 定义一个结构体A、里面有char B【10】,A a,对象a赋值、memset(a.B,0x0,10)。这样
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2017-11-28 01:04
社区公告
暂无公告