初学指针,请问*p=&a和p=&a有什么区别

cpbuaa 2005-08-27 09:06:09
初始化为int a;
然后如题。
而且我觉得指针貌似是多此一举,可能是我不了解为什么有时候非要间接访问吧,请高手指点。
...全文
7085 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
alwin7 2010-06-23
  • 打赏
  • 举报
回复
你搞不懂我给你解释一下:
290 = 250 + 38 + 2

强大。。
gz_qmc 2010-06-23
  • 打赏
  • 举报
回复
你搞不懂我给你解释一下:
290 = 250 + 38 + 2
gz_qmc 2010-06-23
  • 打赏
  • 举报
回复
这个290咋又出来了???你当所有人都懂汇编???不恶心人你会死啊???人家没跟你说是初学吗???
赵4老师 2010-06-23
  • 打赏
  • 举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
赵4老师 2010-06-23
  • 打赏
  • 举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
wzywsk 2010-06-23
  • 打赏
  • 举报
回复
一般初始化时会用到 不然就是一维指针的二维指针
gz_qmc 2010-06-23
  • 打赏
  • 举报
回复 4
int a; 定义了一个汤圆
int *p; 定义了一个装汤圆的碗;
于是:
a表示汤圆.&a表示碗.
p表示碗,*p表示碗里的汤圆
p=&a; 表示用碗来换碗,其结果是,碗p成了装汤圆a的碗
*p=a; 表示用汤圆换汤圆,其结果是,汤圆a成了碗p里的汤圆
*p=&a;表示,把装汤圆a的碗看成是汤圆,替换碗p里的汤圆,结果p碗里装的是另一个碗

晕了的请举手
向立天 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jixingzhong 的回复:]
*p=&a和p=&a有什么区别 ?
----------------------
如果不是出现在 初始化的话
*p=&a ==》 P是 2维指针
p=&a ==》 P是 1维指针
[/Quote]
就是它了
第一个p应该是int **p;
第二个是int *p;
longshaoyang 2010-06-23
  • 打赏
  • 举报
回复
#include <iostream.h>
void main()
{int a=5;
int *p;
*p=&a;
cout<<*p<<endl;
}
为什么 有错误
dudangyimian 2010-06-23
  • 打赏
  • 举报
回复
初学,在遇到“指针”时候,读成“地址”,不会错的。
呵呵
jhy1000 2010-06-23
  • 打赏
  • 举报
回复
牛B.....
jackon1990 2010-06-23
  • 打赏
  • 举报
回复
楼上有几位解答的很好,指针实际就是变量的地址,理解就好了
bolin123 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 zhao4zhong1 的回复:]
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
[/Quote]怎么又是你,还是这句话,第N+1边了
  • 打赏
  • 举报
回复
int **p;
int a;

*p = &a;
p当然就是二维指针了,也就是指向指针的指针
wowo05 2005-09-08
  • 打赏
  • 举报
回复
上面的搞错了>>p=*a表示变量P等于指针a所指向的值<<有要你说这个吗?
chabei 2005-09-08
  • 打赏
  • 举报
回复
啊 啊 啊 啊 啊 啊啊 啊 啊啊 啊 啊啊 啊 啊

为什么这样的一个问题 会有如此地解释?????

*p=&a ==》 P是 2维指针
p=&a ==》 P是 1维指针

这句话没看懂 能否给解释一下 为什么是2维的??????
fytzzh 2005-09-07
  • 打赏
  • 举报
回复
常常用在动态分配的时候。
这是c的精华,好好努力
lixianhong 2005-09-07
  • 打赏
  • 举报
回复
*p=&a和p=&a有什么区别是 *p=&a表示指针p指向a的首地址。p=*a表示变量P等于指针a所指向的值
bombwang 2005-09-07
  • 打赏
  • 举报
回复
好东西
chargedin 2005-09-03
  • 打赏
  • 举报
回复
长见识!
加载更多回复(20)

70,012

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧