c语言中int*p=a与int*p=&a有什么区别???求大侠帮忙!!!
答案:6 悬赏:50 手机版
解决时间 2021-03-19 07:01
- 提问者网友:未信
- 2021-03-18 06:03
c语言中int*p=a与int*p=&a有什么区别???求大侠帮忙!!!
最佳答案
- 五星知识达人网友:怙棘
- 2021-03-18 07:04
int *p是定义一个指针 对应的该是地址
int*p=&a 则a是个指针或数组
int*p=&a 则a是个数据追问是不是int*p=&a是把变量a的地址复制给指针p,所以p中存储的是a的地址,而int*p=a就是p指向变量a的地址????谢谢追答no。。
你还是概念不清啊
如果a只是个单纯的数据
int*p=a这种写法就是错的
必须是int*p=&a追问int a =3;
int *p = a;
//int *p=&a;
课本上两种都有啊,麻烦了,我是初学者!!!追答必须有问题啊
应该是这样吧
int a =3;
int *p;
*p=a;
int*p=&a 则a是个指针或数组
int*p=&a 则a是个数据追问是不是int*p=&a是把变量a的地址复制给指针p,所以p中存储的是a的地址,而int*p=a就是p指向变量a的地址????谢谢追答no。。
你还是概念不清啊
如果a只是个单纯的数据
int*p=a这种写法就是错的
必须是int*p=&a追问int a =3;
int *p = a;
//int *p=&a;
课本上两种都有啊,麻烦了,我是初学者!!!追答必须有问题啊
应该是这样吧
int a =3;
int *p;
*p=a;
全部回答
- 1楼网友:底特律间谍
- 2021-03-18 10:15
第一个a必须也是指针才能对吧,第二个指向了a的地址。
- 2楼网友:独行浪子会拥风
- 2021-03-18 09:41
因为p为指针变量,它初始化的值只能为地址,例如:
int b[10],a;
int *p1=b,*p2=&a; //这两种赋值都可以,注意,a,b都是地址,b是数组名,为数组的首地址,
若如下定义就是错误的:
int *p3=a;//a是简单变量,不是地址,而是值,类型不匹配,所以错了
int b[10],a;
int *p1=b,*p2=&a; //这两种赋值都可以,注意,a,b都是地址,b是数组名,为数组的首地址,
若如下定义就是错误的:
int *p3=a;//a是简单变量,不是地址,而是值,类型不匹配,所以错了
- 3楼网友:青尢
- 2021-03-18 09:18
int*p=a,首先a是一个指针,然后定义一个int型指针p,指向a
int*p=&a ,首先a是一个数值(比如之前定义它 int a=100),那么在定一个指针p,指向a=100中a的内存地址
注意两个式子放在一块写是错误的。不可能定义a为指针,又为数值
int*p=&a ,首先a是一个数值(比如之前定义它 int a=100),那么在定一个指针p,指向a=100中a的内存地址
注意两个式子放在一块写是错误的。不可能定义a为指针,又为数值
- 4楼网友:山有枢
- 2021-03-18 08:18
区别很大,第一个是把a赋给指针变量p,a变量必须存放的是指针值;第二条语句是把a变更本身的内存地址拿出来,赋值给指针变量p。
- 5楼网友:第幾種人
- 2021-03-18 07:45
区别很大。第一个int *p = a;这是把a给一个指针,一般a是指针或数组,否则可能会造成很大错误。
int *p = &a;这是把a的地址给p,一般a可以是一个整型变量。
int *p = &a;这是把a的地址给p,一般a可以是一个整型变量。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯