| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 388 人关注过本帖
标题:关于指针数组的问题
只看楼主 加入收藏
小晷
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-5-24
收藏
 问题点数:0 回复次数:5 
关于指针数组的问题
指针数组变量作为函数参数被传递的时候传递的指针数组的起始地址,我可不可以把指针数组理解为双重指针?
求给位牛人给予解释。谢谢!
2011-06-03 22:35
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:0 
可以这么理解的。你应该见过**p吧

。。。!!!)))000
2011-06-03 22:41
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-06-03 23:57
c564794923
Rank: 2
等 级:论坛游民
帖 子:64
专家分:95
注 册:2011-5-25
收藏
得分:0 
以下是引用cacker在2011-6-3 23:57:07的发言:

int *p[3];   和 int **p;  他俩是等价的

但int (*p)[3] 和int **p;  这俩就完全不一样    因为这俩都是指针   int (*p)[3];   int [2][3];这俩是等价的
挺此答案
int p[2][3]在运行中,就是通过*(*(p+2)+3)来完成的
数组容易懂,指针运行占用时间更少,推荐使用指针
2011-06-04 11:39
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
如果int为4字节
int * p = (int *)0xB0000000; p + 1 == 0xB0000004;
..........................................
int (* p)[2] = (int (*)[2])0xB0000000; p + 1 = 0xB0000008;
这里p仍然是双重指针,但它指向2个int的空间。

My life is brilliant
2011-06-04 12:03
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-06-04 13:46
快速回复:关于指针数组的问题
数据加载中...
 
   



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

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