| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:求高手讲解一下指针类型
只看楼主 加入收藏
灰兜兜
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2012-4-15
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:9 
求高手讲解一下指针类型
int a[5];a的类型是 int [5],int *p,p的类型是int *
为什么a=p,难道 int [5]=int *P??


还有一个问题:int *a[5],a的类型是 int *[5]
int**p p的类型是 int**
p=a ,难道 int *[5]=int**
2012-05-25 13:31
never_yzq
Rank: 4
等 级:业余侠客
帖 子:112
专家分:213
注 册:2012-5-25
收藏
得分:1 
这很简单,int a[5]类型是数组,表示int a[0],int a[1],...,int a[4].(记住一定从int a[0]开始。)数组是有序数据的集合。这是一个一位数组,它的定义方式为:类型说明符 数组名[常量表达式],例如:int a[5]。当然还可以有二位的,三维的,N位的。

int *p是指针类型,它表示一个内存存储地址。
希望对你有所帮助!
2012-05-25 21:54
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:2 
这里的 = 是赋值的意思,没说非得类型一样的才能赋值。比如:
int a = 5;
double b = a;
后面一个语句就没有语法错误。

能相互赋值的类型,有时会称作赋值兼容的。int [] 和 int * 就是兼容的。所以可以用来赋值。
2012-05-26 00:01
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
a=p是不行的,p=a可以

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-05-27 14:34
rjvsky
Rank: 3Rank: 3
来 自:陕西西安
等 级:论坛游侠
帖 子:77
专家分:106
注 册:2012-3-6
收藏
得分:0 
楼主这是数组和指针之间的关系,其实啊a[5],中的a就是一个int类型的地址,而int *p;中的p则是一个int类型的指针,地址当然可以赋值给指针了!!第二个问题用这种方法同样可以解释!!

企业需要的人才,是真正可以给他们带来经济效益的人,而不是一大堆没用的证书,看淡证书,强化自己···
2012-05-27 18:21
qq1034565376
Rank: 2
等 级:论坛游民
帖 子:6
专家分:15
注 册:2012-5-27
收藏
得分:0 
数组名本身就是一个指针,储存的是a[0]的地址,即a=&a[0]。
虽然a和p都是指针,但数组名作为指针时为constant型,即一旦创建,其值不能改变,所以语句  a=p; 错误, p=a; 正确,可以把a[0]的地址存于指针p中 。
2012-05-28 00:13
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:1 
看看 一本正二八经的 c的关于指针的书籍 。 那样获取的的知识更好 而且更准确。

用心做一件事情就这么简单
2012-05-28 00:26
小糊涂神c30
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:198
专家分:809
注 册:2012-4-25
收藏
得分:0 
找本书好好看看这一节很重要,看别人说的你不一定能动!其实这和别的赋值是相通的,这里只是把数组的地址赋给指针!四楼说得很对,赋值的时候也要注意点问题!
2012-05-28 01:15
rjvsky
Rank: 3Rank: 3
来 自:陕西西安
等 级:论坛游侠
帖 子:77
专家分:106
注 册:2012-3-6
收藏
得分:1 
回复 5楼 rjvsky
补充一下:因为地址是常量而指针是变量,所以只能将a赋值给p,而不能将p赋值给a,
不知道你明白没,指针这块最好自己看看········

企业需要的人才,是真正可以给他们带来经济效益的人,而不是一大堆没用的证书,看淡证书,强化自己···
2012-05-28 17:33
heifeng2012
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:53
专家分:113
注 册:2012-3-22
收藏
得分:0 
a=p是不行的,,,应该p=a;  相当于把数组的指针指向数组的首地址
2012-05-28 22:10
快速回复:求高手讲解一下指针类型
数据加载中...
 
   



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

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