| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2399 人关注过本帖
标题:二维数组的元素访问问题?
只看楼主 加入收藏
TYGL
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-3-15
收藏
 问题点数:0 回复次数:5 
二维数组的元素访问问题?
对于二维数组中的元素a[i][j]的访问问题:
假设定义了一个二维数组:
int a[8][9];
则对它的访问方法有:
*(*(a+i)+j)
*(a+3*i+j)
对于第二种访问,a可以看作二维数组首地址,通过加整数可以访问a[i][j]元素,但是第一种访问,尤其是*(*(a+i)+j)中的*(a+i)不太明白(首地址加上i后,通过*,得到的不是具体元素值吗?,怎么会再加j呢?),哪位高手指点一下,谢谢!!!
搜索更多相关主题的帖子: 元素 访问 
2006-05-10 09:49
ever2008
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-3-14
收藏
得分:0 
首先把a数组看作i行j列
a为二维数组首地址没错
*(a+i)为第i行元素首地址
*(a+i)+j为第a[i][j]元素的地址
2006-05-10 10:20
lining
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-15
收藏
得分:0 

楼上的说的完全正确!

2006-05-10 11:59
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

这么看
a是二维数组首地址
二维数组可以看成一维数组的一维数组
a可以理解为一维数组的一维数组的第一个元素的首地址
a+i就把内部的一维数组向下移i个
即指向外部一维数组的首地址(第i个外部数组)
*(a+i)再加上j
即为这个内部一维数组的i个元素所表示的外部一维数组的第j个元素
再用*( ),就是取这里的值了
a->[1]->[1][2][][][][j][][]
[2]->[][][][][][]
[i]->[][][][][][](有9个)
(有8列)
我表达的够清楚的了吧


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-05-10 13:27
TYGL
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-3-15
收藏
得分:0 
谢谢

非常感谢!!!!!!!!!!!!!!!!!!!!

2006-05-10 20:02
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 
赞成2楼的

2006-05-10 21:09
快速回复:二维数组的元素访问问题?
数据加载中...
 
   



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

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