| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 756 人关注过本帖
标题:(*p)[3]和*p[3]的区别是什么?
只看楼主 加入收藏
淡水鱼·到海
Rank: 2
等 级:论坛游民
帖 子:30
专家分:26
注 册:2013-9-12
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:10 
(*p)[3]和*p[3]的区别是什么?
(*p)[3]和*p[3]的区别是什么?
2014-09-05 15:19
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:4 
(*p)[3]指向的是一个含三个元素的数组,*p[3]指向的数组中的一个数
2014-09-05 15:23
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:0 
不好意思,说错了,*p[3]是含有三个指针变量的数组
2014-09-05 15:29
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:4 
“(*p)[3]和*p[3]的区别是什么?”
简单说说呀:
void f(int (*p)[3]);  声明一个函数
int a[M][3]; 定义一个二维数组
f(a); a可以做f()的参数。
显然p是一个指针的指针

第二个: int *p[3];
       等价于 int *p[0]; int *p[1] ; int*p[2];
仅仅定义了三个指针变量

2014-09-05 16:01
淡水鱼·到海
Rank: 2
等 级:论坛游民
帖 子:30
专家分:26
注 册:2013-9-12
收藏
得分:0 
回复 2 楼 Coincedence4
还是不很明白
2014-09-06 15:36
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:0 
回复 5 楼 淡水鱼·到海
(*p)[3]的值是一个含三个元素的数组的地址,可以想象成一个行指针。
*p[3]就是一个数组,每个元素是指针类型。
原因是*优先级比[]
2014-09-06 17:06
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:0 
回复 5 楼 淡水鱼·到海
不好意思,我把优先级说反了
2014-09-06 17:12
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
收藏
得分:4 
百度下c指针,有个互动百科很详细

同学习......同进步....你帮我......我帮你.....上善若水.....
2014-09-07 11:06
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:4 
数组指针和指针数组,呵呵

梦想拥有一台龙芯3A-4000
2014-09-08 03:44
Copain
Rank: 2
等 级:论坛游民
帖 子:10
专家分:69
注 册:2014-1-31
收藏
得分:4 
*p[3]  指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。
(*p)[3]  数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。
2014-09-10 16:32
快速回复:(*p)[3]和*p[3]的区别是什么?
数据加载中...
 
   



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

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