| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:求教二级指针和二维数组的问题
只看楼主 加入收藏
q5671229
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-7-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求教二级指针和二维数组的问题
为啥一级指针就可以访问一维数组。
而二维数组的首地址也是一个地址。我现在必须用二级指针才可以指到。**P找到的是a[0][0]的话。那么*P找到的是什么?

P里面放的又是什么。


2012-07-14 23:18
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:10 
p 和 *p里面的内容是一样的,但是意义不同。

比如 int a[5][5]; int (*p)[5]; p = a;

p里存放的是二维数组首行的地址,也即a[0]的地址,而*p为首行里首个元素的地址,即a[0][0]的地址。虽然值一样,但意义不同。

p+1和 *p+1的意义很显然是不同的:p+1为第二行首地址,*p+1为首行第二个元素的地址。

p 和 *p的关系有点类似于:

安徽省的省政府在合肥,合肥市的市政府也在合肥,但是你不能因为他们两都在合肥,而认定两个政府的功能和级别是相同的。
2012-07-14 23:53
神石头
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2012-7-1
收藏
得分:10 
牛啊!!!
2012-07-15 21:39
快速回复:求教二级指针和二维数组的问题
数据加载中...
 
   



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

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