A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dayuanzhang 中级黑马   /  2016-6-9 00:49  /  1536 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int* p;
int num = 10;
p = #

int* p = #

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

int num = 10;
int* p;
*p = #
*p = 20
num的值会改变吗

6 个回复

倒序浏览
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,
回复 使用道具 举报 1 0
百度一下你懂得
回复 使用道具 举报
  指针常量,常量指针,那才叫糊涂
回复 使用道具 举报
看看笔记!!!
回复 使用道具 举报
暴雨 发表于 2016-6-9 17:31
指针常量,常量指针,那才叫糊涂

现在还是分不清楚,
回复 使用道具 举报
学习下..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马