黑马程序员技术交流社区

标题: 指针 快蒙了 [打印本页]

作者: dayuanzhang    时间: 2016-6-9 00:49
标题: 指针 快蒙了
int* p;
int num = 10;
p = #

int* p = #

这两个表达式是不是完全等价的

int num = 10;
int* p;
*p = #
*p = 20
num的值会改变吗
作者: cainiaoz    时间: 2016-6-9 01:31
int *p;//这里数定义个指针变量为p,用来存放地址的变量
p = # //这里就是把num的地址赋值给了p

只是一个是先定义,后赋值;第二个是一步到位而已。所以 int *p = &num 和上面是等价的。

---------------------------------------------------
//你的代码有问题:
  1.     int num = 10;
  2.     int* p;
  3.     p = #
  4.     *p = 20;
复制代码


你要知道一点就好,p 存放的是num的地址,*p表示在num地址存放的数值,这里p指向的地址是num的地址,这里变成20,num当然也会变成20,
作者: liyansong2016    时间: 2016-6-9 08:57
百度一下你懂得
作者: 暴雨    时间: 2016-6-9 17:31
  指针常量,常量指针,那才叫糊涂
作者: 猜不透    时间: 2016-6-9 20:34
看看笔记!!!
作者: zhangyu009    时间: 2016-6-10 23:40
暴雨 发表于 2016-6-9 17:31
指针常量,常量指针,那才叫糊涂

现在还是分不清楚,
作者: 小海盗。    时间: 2016-6-10 23:48
学习下..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2