黑马程序员技术交流社区
标题:
关于指针变量赋值的疑问?
[打印本页]
作者:
holfioo
时间:
2015-5-10 15:01
标题:
关于指针变量赋值的疑问?
本帖最后由 holfioo 于 2015-5-12 22:32 编辑
提问以下程序:
int main()
{
int a = 10 ;
//int *p = a ; 为啥不能这么写。 ①
int *p = &a ; //一定要写成这样 ②
return 0;
}
复制代码
*p 不就是指向 a的值么...
①这样写可以么?
作者:
wangzhewjl
时间:
2015-5-10 15:33
定义变量的时候那个*号没有作用,p存的是地址,int *p = &a;相当于 先定义一个int *p; 然后再给p赋值p = &a;
作者:
逆流瞅瞅
时间:
2015-5-10 16:02
int *p = &a ; 表示 int *p; p=&a; 理解int *当成一种指针数据类型,给p赋值为&a。
作者:
ios专用
时间:
2015-5-10 20:28
就是把*p=&a这一步省略了,
作者:
15578797612
时间:
2015-5-11 13:17
int *p = &a 的意思是定义了一个指针p并指向a的地址,如果换成int *p = a 那就成了定义指针p指向a,但是a是int变量不是地址
作者:
飞翔的猪
时间:
2015-5-11 14:10
int a[10]; int *p=a; 这样可以,因为int *p 指向的是a数组的首地址,int a;就不可以了,a是变量
作者:
⒈苆都s.兲憶
时间:
2015-5-11 18:32
指针变量P指的是是一个地址,它是用来存储地址的,变量a不是地址需要加一个运算符&,这是我的理解
作者:
holfioo
时间:
2015-5-11 19:21
手机端改不了标题。谢谢大家。现在基本明白这个赋值的意思啦。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2