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

 更新时间:2016年05月17日 10:42:22   投稿:jingxian  
下面小编就为大家带来一篇浅析char 指针变量char *=p 这个语句的输出问题。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

#include <iostream>
using std::cout;
void main()
{
   int num=5;
   int *nPtr=&num;
   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 这个语句的输出问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++ vector操作实现

    C++ vector操作实现

    这篇文章主要介绍了C++ vector操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • win32使用openfilename浏览文件窗口示例

    win32使用openfilename浏览文件窗口示例

    这篇文章主要介绍了使用win32 API打开浏览文件窗口,使用OPENFILENAME结构体来实现这个功能,需要的朋友可以参考下
    2014-02-02
  • VisualStudio2022提交git代码的方法实现

    VisualStudio2022提交git代码的方法实现

    本文主要介绍了VisualStudio2022提交git代码的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • C/C++中接收return返回来的数组元素方法示例

    C/C++中接收return返回来的数组元素方法示例

    return是C++预定义的语句,它提供了种植函数执行的一种放大,最近学习中遇到了相关return的内容,觉着有必要总结一下,这篇文章主要给大家介绍了关于C/C++中如何接收return返回来的数组元素的相关资料,需要的朋友可以参考下。
    2017-12-12
  • C++ TCP网络编程详细讲解

    C++ TCP网络编程详细讲解

    TCP/IP是一种面向连接的、可靠的、基于字节流的传输层通信协议,它会保证数据不丢包、不乱序。TCP全名是Transmission Control Protocol,它是位于网络OSI模型中的第四层
    2022-09-09
  • 解决 VSCode 编写 C++11 代码报红问题分析

    解决 VSCode 编写 C++11 代码报红问题分析

    今天在写 C++ 代码的时候用上 C++11 的特性,然后发现 VSCode 虽然可以编译通过,但是会在相应位置报红,这是怎么回事呢?下面小编给大家带来了解决方法,一起看看吧
    2021-09-09
  • 详解C++中的指针、数组指针与函数指针

    详解C++中的指针、数组指针与函数指针

    本文从初学者的角度,深入浅出地讲解C++中的指针、数组指针与函数指针,对最常混淆的引用传递、值传递和指针传递做了区处,需要的朋友可以参考下
    2015-07-07
  • 使用C语言实现扫雷小游戏

    使用C语言实现扫雷小游戏

    这篇文章主要为大家详细介绍了使用C语言实现扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Qt5.9实现简单的多线程实例(类QThread)

    Qt5.9实现简单的多线程实例(类QThread)

    Qt开启多线程,主要用到类QThread。用一个类继承QThread,然后重新改写虚函数run()。具有一定的参考价值,感兴趣的可以了解一下
    2021-09-09
  • Matlab实现好看的配对箱线图的绘制

    Matlab实现好看的配对箱线图的绘制

    配对箱线图,常见于配对样本的数据分析中,它除了能够表现两组的整体差异,还能够清晰地呈现单个样本的前后改变。本文将用Matlab实现配对箱线图的绘制,需要的可以参考一下
    2022-08-08

最新评论