为了账号安全,请及时绑定邮箱和手机立即绑定

C++编程问题请大神赐教谢谢...

C++编程问题请大神赐教谢谢...

C++
绝地无双 2018-07-13 10:14:55
char animal[20] = "bear";double bubble = 3.2;char *ps;double *p;为什么可以直接ps=animal,并且cout<<ps就是ps指针指向的字符串而不是输出地址。而double 类型却需要p = &bubble,并且 cout<<p 是地址,而不是double类数值?
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

数组名的值是个指针常量,也就是数组第一个元素的地址,所以animal的类型是char *,可以直接ps=animal。而double 类型是个变量,要赋值给double *的指针变量需要取double 类型变量的地址,所以double 类型需要p = &bubble。cout标准输出对char *是按字符串来解析,所以cout<<ps输出的是字符串,cout标准输出对其他指针类型默认是按地址输出,所以cout<<p输出的是地址


查看完整回答
反对 回复 2018-08-08
  • 1 回答
  • 0 关注
  • 592 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信