| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9107 人关注过本帖
标题:[求助]指针如何给二维数组赋值
只看楼主 加入收藏
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
快速回复:[求助]指针如何给二维数组赋值
数据加载中...
 
   



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

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