| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1127 人关注过本帖
标题:指向2维数组的指针如何访问成员?
只看楼主 加入收藏
daoke9999
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-10
收藏
 问题点数:0 回复次数:9 
指向2维数组的指针如何访问成员?
指向2维数组的指针如何访问成员?
我定义一个二位数组a[10][10];
由定义一个指针*p;
p=a;
这样如何利用p访问a的成员,如a[1][1]是p+10+1吗?
搜索更多相关主题的帖子: 指针 成员 定义 访问 
2006-05-13 12:45
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
如果是这个例子的话,那你说的就没错,但是要是a[2][3]和a[3][2]就有问题了,因为不知道是按行还是按列

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-13 13:19
giant
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-11
收藏
得分:0 


int a[10][10] ;
int (*p)[10] = a;
p[0][0] = 1;*(*(p+1)+1) = 2; *(*(p+1)+1) 等同 a[1][1];


2006-05-13 13:20
daoke9999
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-10
收藏
得分:0 
基础不好,有点蒙
2006-05-13 13:23
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
收藏
得分:0 
int a[3][5]
int (*p)[5]
a[i][j]=*(*(p+i)+j)
2006-05-13 21:01
huanguyu
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-4-26
收藏
得分:0 
请问2楼的 如果碰到你说的那种有该怎么办呢

看越多书就发现自己越无知 于是就越想知道更多
2006-05-14 20:20
daoke9999
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-10
收藏
得分:0 
我已经试验出来了

如果是a[10][5]
*p=a[0][0];
TRUE=a[i][j]==*(p+i*5+j);
2006-05-14 21:58
qddscience
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-4-22
收藏
得分:0 

不是吧,应该是(*(p+i)+j)
如果用*(p+i*5+j)输出a[i][j]的地址。


我屋汝嫌低不住,雕梁画阁也知宽。 大须稳择安巢处,莫道巢成却不安。
2006-05-15 15:46
huanguyu
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-4-26
收藏
得分:0 
两种输出的都是地址

看越多书就发现自己越无知 于是就越想知道更多
2006-05-15 16:30
huanguyu
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-4-26
收藏
得分:0 
一种可行的做法是
cout<<*(*(p+i)+j);
教科书上有例题的

看越多书就发现自己越无知 于是就越想知道更多
2006-05-15 19:18
快速回复:指向2维数组的指针如何访问成员?
数据加载中...
 
   



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

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