浅析char 指针变量char *=p 这个语句的输出问题

2025-05-27 0 78

学习指针的时候我一直有个疑惑,请看下面的代码:

?

1

2

3

4

5

6

7

8

9

10

11
#include <iostream>

using std::cout;

void main()

{

int num=5;

int *nPtr=&num;

cout<<nPtr;//输出指针的地址。但是会报错<<没有直接输出int *地址的功能

return ;

}

但是,将int 改成char 类型就不会报错,可以输出字符串。同样是指针,这次为何没有输出地址(理应输出指针代表的地址,但是<<并没有重载地址输出的功能所以报错)呢?

?

1

2

3

4

5

6

7

8

9

10

11
#include <iostream>

using std::cout;

void main()

{

char *nPtr="Address";

cout<<nPtr;//输出字符串Address;

return ;

}

原来,输出流运算符<<重载了输出功能,可以自动判断类型,int直接输出,char *就输出所代表的字符串,如果要输出地址,必须使用强制类型转换函数static_cast转换成十六进制数字,其它类型的指针比如int *double *直接输出会报错

?

1

2

3

4

5

6

7

8

9

10

11
#include <iostream>

using std::cout;

void main()

{

char *nPtr=“请问我”;

cout<<nPtr<<"下个输出是指针地址 "<<static_cast<void *>(nPtr);//语句会报错,不能输出指针。

return ;

}

以上这篇浅析char 指针变量char *=p 这个语句的输出问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 浅析char 指针变量char *=p 这个语句的输出问题 https://www.kuaiidc.com/75187.html

相关文章

发表评论
暂无评论