标题:二维数组怎么用指针修改值
只看楼主
mlovelyy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-8-30
结帖率:33.33%
已结贴  问题点数:20 回复次数:5 
二维数组怎么用指针修改值
在设定Typedef int[10][10] MazeType;MazeType *maze;
之后如何用指针进行修改maze的值,*maze[1][2]=1,这样对吗?
搜索更多相关主题的帖子: 数组 
2009-08-14 11:03
ly861014
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:66
专家分:177
注 册:2008-10-28
得分:10 
我觉得应该是
typedef int MazeType[10][10];
MazeType *maze;
maze[1][2] = 1;
2009-08-17 09:11
mlovelyy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-8-30
得分:0 
我找了下,要写成结构体才能用指针修改,那个是我自己认为的,typedef struct MazeType{  int a[10][10];}MazeType;MazeType *m;m->a[10][10];但是我的迷宫还是有问题啊
2009-08-17 09:24
mlovelyy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-8-30
得分:0 
你的方法我试下

2009-08-17 09:25
ly861014
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:66
专家分:177
注 册:2008-10-28
得分:0 
回复 3楼 mlovelyy

哦,不好意思,刚才忘了运行一下试试,我的那个是有问题的
应该是:
typedef int MazeType[10][10];
MazeType maze;
maze[1][2] = 1;

或者是:
typedef int MazeType[10][10];
MazeType *maze;
/*....在此期间,maze有了值,即指向了某个MazeType对象,然后下面才能对其解引用*/      
(*maze)[1][2] = 1;
2009-08-17 09:40
wywy703
Rank: 2
等 级:论坛游民
帖 子:8
专家分:27
注 册:2009-8-3
得分:10 
如定义a[10][10]数组,可以这样改:*(*(a+i)+j)=X,则a[i][j]=X;这是我认为的!
2009-08-17 14:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-282601-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.309588 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved