问一个二维数组初始化的问题

kwunkuklan 2009-04-16 04:57:31
问个二维数组的问题
我再全局变量里面定义了一个二维数组
int qipu[2][2];

然后在初始化函数里面给它初始化
initinitialize()
{
........;
qipu[2][2]=
{
{1,2},
{3,4}
}
......;
}

为什么initinitialize() 里面不能初始化
...全文
151 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kwunkuklan 2009-04-16
  • 打赏
  • 举报
回复
谢谢大家

但我分数有限,只能给你们一个大概分,有些失真,抱歉

再次感谢大家
kwunkuklan 2009-04-16
  • 打赏
  • 举报
回复
哦 谢谢大家,我知道了。

  • 打赏
  • 举报
回复
initinitialize()
{
........;
qipu[2][2]=      //这种初始化的方法只能在声明的时候使用,C语言书有写的
{
{1,2},
{3,4}
}
......;
}
zgjxwl 2009-04-16
  • 打赏
  • 举报
回复
只能定义的时候使用这种初始化。。。你那是数组的赋值
beyond071 2009-04-16
  • 打赏
  • 举报
回复

int qipu[2][2]=
{
{1,2},
{3,4}
} ;//这种赋初值的方式,只能在第一次定义的时候用!

影子LEON 2009-04-16
  • 打赏
  • 举报
回复
初始化的时候可以用
int qipu[2][2]= { {1,2}, {3,4} }

而赋值得用循环

for(int i = 0;i<2;i++)
{
for(int j = 0; j<2; j++)
qipu[i][j] =
}
pengzhixi 2009-04-16
  • 打赏
  • 举报
回复
int qipu[2][2]={{1,2},{2,3}};只能这么初始化
lingyin55 2009-04-16
  • 打赏
  • 举报
回复
说错,在initinitialize里面初始化需要用两个for循环。应该说是赋值。


[Quote=引用 3 楼 lingyin55 的回复:]
只能在定义数组的时候这样初始化,如果要在initinitialize里面初始化需要用两个for循环。
[/Quote]
zgjxwl 2009-04-16
  • 打赏
  • 举报
回复
//main.cpp
#include <stdio.h>
int qipu[2][2];
void initinitialize(int m[][2])
{
for(int i=0;i<2;++i)
{
for(int j=0;j<2;++j)
{
m[i][j]=1;
}
}
}

int main(void)
{
initinitialize(qipu);
for(int i=0;i<2;++i)
{
for(int j=0;j<2;++j)
{
printf("%d\t",qipu[i][j]);
}
}
return 0;
}
lingyin55 2009-04-16
  • 打赏
  • 举报
回复
只能在定义数组的时候这样初始化,如果要在initinitialize里面初始化需要用两个for循环。
lanneret1234 2009-04-16
  • 打赏
  • 举报
回复
貌似不能这样赋值!!!要定义的同时赋值
pengzhixi 2009-04-16
  • 打赏
  • 举报
回复
你这不是初始化,是数组的赋值,数组是不能这么赋值的.

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧