标题:[求助]指针如何给二维数组赋值
只看楼主
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
以下是引用田里兵蜂在2007-2-27 17:12:23的发言:

二维数组本质上跟一维数组上一样的,因为它也是按一维数组存放的

p=a是可以的 a就是数组的起始地址
*(p+5)=a[2][1]对
不过+1表示下一个存储单元

有的编译器不通过的


所以我感觉直接p=a[0]比较好

[此贴子已经被作者于2007-2-27 17:15:12编辑过]


羊肉串 葡萄干 哈密瓜!!
2007-02-27 17:14
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 
刚刚算错了,是指向a[1][1]的,呵呵,谢谢斑竹啊

如何可以在屏幕中输入指针指向的数据元素
比如:
printf("%x(H)",(p+5)); /*显示的是地址*/
printf("%d",*(p+5); /*显示的是值*/
如何在屏幕中看到(p+5)指针变量指向a[1][1],在屏幕上显示a[1][1]

2007-02-27 17:18
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
可以p=a也可以是p=a[0],还可以是p=&a[0][0]
二维数组中a[0],a[1],a[2],代表的其实是每一行的首地址所以也也可以用
p=a[0];
其实不管你给p是谁的指针都是一样的,只不过要是给的是首地址的话就可以用p++进行移动指针方便

2007-02-28 10:41
miaomiao0403
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-8-22
得分:0 

把p定义为 int (*p)[m]的形式,指向一个一位数组,里面有m个整型元素,这样就可以写p=a;了(a为二维数组名)

2007-02-28 21:39



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




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

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