在c语言中 aver = &ave和*aver = ave有什么区别吗
答案:4 悬赏:60
解决时间 2021-02-21 20:28
- 提问者网友:挣扎重来
- 2021-02-21 16:00
在c语言中 aver = &ave和*aver = ave有什么区别吗
最佳答案
- 二级知识专家网友:有钳、任性
- 2021-02-21 16:24
1 aver = &ave
将ave的地址赋值。
2 *aver = ave
将ave的值赋值给*aver。
3 前者是改变aver变量本身的值,即改变aver自身的地址值。
后者是改变aver指向内存的值,aver本身地址不变。
将ave的地址赋值。
2 *aver = ave
将ave的值赋值给*aver。
3 前者是改变aver变量本身的值,即改变aver自身的地址值。
后者是改变aver指向内存的值,aver本身地址不变。
全部回答
- 1楼网友:山鬼偶尔也合群
- 2021-02-21 19:14
*aver = ave估计会报错
- 2楼网友:情窦初殇
- 2021-02-21 18:29
区别很大。
int *aver;
这相当于是超市存包柜打印出来的小票,上面可以标柜子的编号;*aver指的是小票上的编号所对应那个柜子
int ave;
这相当于是超市的存包柜,而&ave表示的是这个柜子的编号
aver=&ave;
把小票上的编号改为ave这个柜子的编号
此时*aver和ave就是一样的了
而
*aver=ave
是什么意思呢?就是把ave那个柜子里的东西复制一份,装到小票上的编号所对应的那个柜子里的东西。这里有一个问题,就是小票上对应的是哪个柜子?如果之前没有指定,那么这时就出错了
- 3楼网友:陪衬角色
- 2021-02-21 17:49
绝对不同
aver=&ave 指的是 aver 是变量 ave类型的指针 其值是ave的地址
这时对 *aver=0;赋值 则 ave的值为 0;
*aver = ave 指的是aver是变量 ave类型的指针 其值不一定是ave 的地址,
这时 *aver=0;赋值 则 ave的值不变
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯