手机
当前位置:查字典教程网 >编程开发 >C语言 >浅析char 指针变量char *=p 这个语句的输出问题
浅析char 指针变量char *=p 这个语句的输出问题
摘要:学习指针的时候我一直有个疑惑,请看下面的代码:#includeusingstd::cout;voidmain(){intnum=5;int*...

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

#include <iostream> using std::cout; void main() { int num=5; int *nPtr=# cout<<nPtr;//输出指针的地址。但是会报错<<没有直接输出int *地址的功能 return ; }

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

#include <iostream> using std::cout; void main() { char *nPtr="Address"; cout<<nPtr;//输出字符串Address; return ; }

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

#include <iostream> using std::cout; void main() { char *nPtr=“请问我”; cout<<nPtr<<"下个输出是指针地址 "<<static_cast<void *>(nPtr);//语句会报错,不能输出指针。 return ; }

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

【浅析char 指针变量char *=p 这个语句的输出问题】相关文章:

c语言:金币阵列的问题

深入C++中API的问题详解

探讨编写int strlen(char *strDest);不允许定义变量的问题

C++指针作为函数的参数进行传递时需要注意的一些问题

二维指针动态分配内存连续问题深入分析

浅析c与c++中struct的区别

浅析C语言头文件和库的一些问题

深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

浅析c/c++中函数的参数传递

浅谈VC中预编译的头文件放那里的问题分析

精品推荐
分类导航