| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 350 人关注过本帖
标题:新手求教~!有关指针的类型问题
只看楼主 加入收藏
周哈哈1号
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-26
结帖率:0
收藏
已结贴  问题点数:10 回复次数:7 
新手求教~!有关指针的类型问题
请问指针的类型怎么判断啊?为什么  int a[3][4];  中a的类型为 int (*)[4]?
2011-06-06 23:26
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:3 
int (*) [4];  // 可以指向 int a[3][4] 的指针类型。

楼主的理解也可以。

—>〉Sun〈<—
2011-06-06 23:28
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:3 
指针的类型用程序不能判断,只能自己去看变量的定义。
至于数组为什么用指针表示,这个具体的机理我不了解,等高手解答
2011-06-06 23:28
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
int (*p) [4];   指向int数组的指针
int *ar  [4];    int指针数组

括号的优先级最高,(*p) "*"操作符号与p结合, int *  "int"与"*"结合;

—>〉Sun〈<—
2011-06-06 23:34
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:3 
int a[4][3]中a是指向3个int大小的数组的,有4个这个的元素。int(*p)[3]定义p是指向3个int型大小的指针。所以p=a正确。
  int** p=a;就是错误的。注意在定义二维数组的时候后面括号的大小要是确定的,前面括号的可以省略。
2011-06-06 23:40
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 4楼 cosdos
这个还是值得学习的,谢谢
2011-06-06 23:41
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
以下是引用voidx在2011-6-6 23:41:15的发言:

这个还是值得学习的,谢谢



大家共同进步。相互学习。

—>〉Sun〈<—
2011-06-06 23:43
键盘农夫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:106
注 册:2011-5-5
收藏
得分:3 
以下是引用周哈哈1号在2011-6-6 23:26:10的发言:

请问指针的类型怎么判断啊?为什么  int a[3][4];  中a的类型为 int (*)[4]?
a 作为左值的类型是 int [3][4]
只有作为右值使用的时候a的类型才是 int (*)[4]

《狂人C:程序员入门必备》
2011-06-07 00:39
快速回复:新手求教~!有关指针的类型问题
数据加载中...
 
   



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

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