社区
C语言
帖子详情
初学指针,请问*p=&a和p=&a有什么区别
cpbuaa
2005-08-27 09:06:09
初始化为int a;
然后如题。
而且我觉得指针貌似是多此一举,可能是我不了解为什么有时候非要间接访问吧,请高手指点。
...全文
7085
38
打赏
收藏
初学指针,请问*p=&a和p=&a有什么区别
初始化为int a; 然后如题。 而且我觉得指针貌似是多此一举,可能是我不了解为什么有时候非要间接访问吧,请高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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边了
沙敦府上帝发誓地方
2005-09-09
打赏
举报
回复
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)
C语言中
指针
int *p=0;和int *p;*p=0;和”&“的关系和
区别
详解
初学
者在学习C语言的时候,最头疼的可能就是
指针
,话不多说。让我们直接进入正题 直接上代码 int main(void) { int *p = 0; printf(%d, *p); system(pause); return 0; } 直接运行,好了,程序是不是报错了?那就对了。因为此时的int *p=0实际等于int *p; p=0; 让我们来验证一下对不对 int main(void) { int *p = 0; printf(%d, p); system(pause); return 0; } 这说明此时
指针
*p装的不是0,而是以0作为地址的一个值,
初学
者
指针
全方位学习
网上弄来的适合
初学
者的绝对超值!
C++中
指针
和引用的
区别
详解
C++中
指针
和引用的
区别
指针
和引用在C++中很常用,但是对于它们之间的
区别
很多
初学
者都不是太熟悉,下面来谈谈他们2者之间的
区别
和用法。 1.
指针
和引用的定义和性质
区别
: (1)
指针
:
指针
是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如: int a=1;int *p=&a; int a=1;int &b=a; 上面定义了一个整形变量和一个
指针
变量p,该
指针
变量指向a的存储单元,即p的值是a存储单元的地址。 而下面2句定义了一个整形变量a和这个整形a的引用b,事实上a和b是同一个东西,在内存占有同一个
int *p=a和int *p=&a的
区别
指针
变量用来存放
指针
(或者可以理解成地址)。而 & 则是取地址运算符,因此给
指针
变量赋值的方式一般是把变量的地址取出来,然后付给对应类型的
指针
变量: int a; int* p = &a; 上面的代码也可以写成: int a; int* p; p = &a; 需要注意的是, int* 是
指针
变量的类型,而后面的 p 才是变量名,用来存储地址,因此地址 &...
【c/c++夯基】
指针
,辨别*p=&a; p=&a; *p=a;
p=&a;错误写法;p=&a;正确,把变量a的地址赋给
指针
p;*p=a;正确,把变量a的值赋给
指针
p指向的地址的内容;
C语言
70,012
社区成员
243,257
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章