在c++中,为什么这里给指针赋值的语句int *p=a不是写成这样int *p=&a...

发布网友 发布时间:2024-10-24 10:00

我来回答

4个回答

热心网友 时间:2024-11-07 00:55

c语言指针赋值要理解清楚,首先对p定义为指针即*p,然而p就是一个指针,a是一个值,int*p=a的意思就是p指针取a为其值,也就是a赋值给p指针,而你说的*p=&a是错误的,右边是取地址a,左边是p指针取值,这样写相当于p=a,是错误的,指针和赋值就冲突了,变量不一样。说白了*这个符号就是取后面的值的意思,&也是所以冲突

热心网友 时间:2024-11-07 00:57

a是数组名。数组名特殊一些。如果是普通变量就要加 &

热心网友 时间:2024-11-07 01:00

对于数组来说,int *p = a跟int *p = &a是一样的

热心网友 时间:2024-11-07 01:01

数组名就是数组的首地址,因为是地址就不用在加&

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com