c++中的指针变量一般用*a *b形式标示.但有时会用a无星号形式,请问有何不同. 例如*a=b *a=*b
c++中的指针变量一般用*a *b形式标示.但有时会用a无星号形式,请问有何不同. 例如*a=b *a=*b看2,3楼的追问.*a=b;*a=*b;**a=*b;作用应该是一样的,但原理上应该是不同的.那位大神能解答啊?!
最佳回答
其实C代码编译成二进制后是不分类型的。指针的值就是虚拟存储的一个地址,地址也是值,也可以放在内存里。*a=b就是说指针a所指向的地址里的内容换成b;*a=*b就是说将指针b指向的地址里的内容放到指针a所指向的地址里;至于**a=*b,就是说,a指向的地址里存放的也是个地址,如果设这个地址为c,那么c的值就是*a,那么**a也就是*c,上式就等价于*c=*b。当然,C编译器在编译时要执行类型检查,你不能直接把一个int类型的变量复制给*int类型的变量,这就需要类型强制转换。
最新回答共有2条回答
-
2026-04-08 23:28:22儒雅的灯泡
回复其实C代码编译成二进制后是不分类型的。指针的值就是虚拟存储的一个地址,地址也是值,也可以放在内存里。*a=b就是说指针a所指向的地址里的内容换成b;*a=*b就是说将指针b指向的地址里的内容放到指针a所指向的地址里;至于**a=*b,就是说,a指向的地址里存放的也是个地址,如果设这个地址为c,那么c的值就是*a,那么**a也就是*c,上式就等价于*c=*b。当然,C编译器在编译时要执行类型检查,你不能直接把一个int类型的变量复制给*int类型的变量,这就需要类型强制转换。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
