搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 求助:指针定义的一个小问题
标题:
求助:指针定义的一个小问题
只看楼主
xuexi005
等 级:
论坛游民
帖 子:30
专家分:10
注 册:2012-7-24
结帖率:
100%
楼主
已结贴
√
问题点数:10 回复次数:4
求助:指针定义的一个小问题
int array[10],*p=array;
等价于
int array[10],*p;
p=array;
问,编译上面两个都合法,但不理解*p指针变量可以直接与地址相等。
应该是p=array才对啊?
2012-09-18 16:13
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
2
楼
得分:0
以下是引用
xuexi005
在2012-9-18 16:13:53的发言:
int array[10],*p=array;
等价于
int array[10],*p;
p=array;
问,编译上面两个都合法,但不理解*p指针变量可以直接与地址相等。
应该是p=array才对啊?
但不理解*p指针变量可以直接与地址相等。
p是指针变量
我感觉 这个貌似就是一个定义的时候赋初值和定义之后再赋值的问题 没看出这里面有啥深刻含义
2012-09-18 16:18
眼底星空
等 级:
业余侠客
威 望:
3
帖 子:85
专家分:289
注 册:2006-9-2
第
3
楼
得分:0
“问,编译上面两个都合法,但不理解*p指针变量可以直接与地址相等。”
这句话的理解有误吧。
p才是指针变量,是p的值和地址相等,而不是*p。
int *p=array; 这句话这样理解吧:p是int*类型,p的值是数组array的首地址。
无为而为 && 每天进步一小点...
2012-09-18 17:53
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
4
楼
得分:10
回复 2楼 zklhp
就是没啥深刻含义。
声明指针的语法就是 int *p,如果愿意赋初值,后面再跟一个 =array 就行了。从而变成,int *p = array。
如果就是声明一下,后一步再赋值就是第二种写法。第一种代码只是方便人写而已(也就是少打了一次 p,但代码更紧凑)。
2012-09-18 18:34
xuexi005
等 级:
论坛游民
帖 子:30
专家分:10
注 册:2012-7-24
第
5
楼
得分:0
二楼跟我一样的困惑,版主简单的说是乌龟的屁股,规定而已
2012-09-19 08:09
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-381629-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.096440 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved