| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:新手请教二维数组基础
只看楼主 加入收藏
wqutdl
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-7-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
新手请教二维数组基础
小弟自学c语言,有一些小地方不理解请高手指点一二,在二维数组中&a[0][0]+4*i+j是什么意思
搜索更多相关主题的帖子: c语言 基础 
2012-07-12 16:40
clyde3
Rank: 2
等 级:论坛游民
帖 子:68
专家分:65
注 册:2012-7-10
收藏
得分:3 
我想问一维数组!

堇色安年,谁许我一世荒芜→→玖零逅.那扯蛋的青春!
2012-07-12 16:53
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:3 
这要看你的a定义的是什么类型的二维数组,&a[0][0]为数组首元素地址,比如说是0x1213FF4O
4*i+j为一个常数,比如说计算结果为3

若a为int型,则结果为0x1213FF4C,一个int占4字节,若a为char型,则结果为0x1213FF43,一个char占1个字节,以此类推。
2012-07-12 19:17
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:3 
跟指针一起看看,可以加深理解

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-07-14 20:54
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:3 
以下是引用demonleer在2012-7-12 19:17:19的发言:

这要看你的a定义的是什么类型的二维数组,&a[0][0]为数组首元素地址,比如说是0x1213FF4O
4*i+j为一个常数,比如说计算结果为3
 
若a为int型,则结果为0x1213FF4C,一个int占4字节,若a为char型,则结果为0x1213FF43,一个char占1个字节,以此类推。
这个。。。似乎好象是通过地址来引用2维数组的元素
4*i+j是偏移。
2012-07-14 21:34
jtx0329
该用户已被删除
收藏
得分:3 
提示: 作者被禁止或删除 内容自动屏蔽
2012-07-16 15:05
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
通过指针加偏移来获取指定下标的值

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-07-16 15:22
zhdns
Rank: 1
等 级:新手上路
帖 子:2
专家分:6
注 册:2012-7-16
收藏
得分:3 
以下是引用jtx0329在2012-7-16 15:05:29的发言:

int *p     定义指针
int a[3][4];
p=a;
结合指针与二维数组
&a[0][0]+4*i+j   等同于p+4*i+j    4决此数组有4列
若 i=2,j=3 ,则上面2个式子指向a[2][3]

p=a[0]吧
2012-07-16 15:50
jtx0329
该用户已被删除
收藏
得分:0 
回复 8楼 zhdns
提示: 作者被禁止或删除 内容自动屏蔽
2012-07-16 17:36
罗庇鹏ksq
Rank: 5Rank: 5
来 自:太平洋
等 级:职业侠客
帖 子:220
专家分:310
注 册:2012-6-30
收藏
得分:3 
最简单的答法就是,在a[0][0]的地址后推了(4*i+j)这么多,如果定义的是a[m][n]数组,则从a[0][0]到a[0][n-1],然后a[1][0]到a[1][n-1],以此递推下去的地址,,,给点分吧。

从来都是无所谓,现在也该学着有所谓。✿咱们一个人,别坐井观天❀
2012-07-16 18:22
快速回复:新手请教二维数组基础
数据加载中...
 
   



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

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