【c++】cout打印char * 或者char[]的细节详解

news2024/11/15 23:44:22

目录

 char* 类型

1.打印指向的字符串

2.打印指针指向的地址

问题描述

解决方法

char型数组

 1. 想要输出字符串

2. 想输出字符数组的地址

printf 和cout 的对比

1.打印首字符

2.打印字符串

3.打印字符串首地址

💗感谢阅读!💗


 char* 类型

1.打印指向的字符串

使用cout输出 指针,会直接打印指针指向的具体内容!

const char* a = "abcd";
cout << a << endl;

2.打印指针指向的地址

问题描述

c++中如果给cout提供一个指针,它将输出该指针指向的地址(指针和地址在表现形式上是一样的)

但是如果该指针的类型是char*或者uchar*,则cout会打印该指针指向的具体内容!!

如图,就出现了以上情况。

解决方法

如果要打印char*或者uchar*所指向的地址,强制转换成 int*  或者 void*  即可

const char* a = "abcd";
cout << a << endl;

cout << "int*强转:" << (int*)a << endl;
cout << "void*强转:" << (void*)a << endl;


char型数组

 1. 想要输出字符串

采用 cout<<数组名; 系统会将数组当作字符串来输出,如:

char b[] = "abcdef";
cout << b << endl;

2. 想输出字符数组的地址

则需要进行强制转换,添加 void*  或者  int*  如:

char b[] = "abcdef";
cout << b << endl;

cout << "强转:" << (void*)b << endl;
cout << "强转:" << (int*)b << endl;

printf 和cout 的对比

相比于cout ,printf可以根本解决问题,并且使用更加清晰!

1.打印首字符

const char* a = "abcd";

printf("首字符:%c\n", *a);
cout << *a << endl;

2.打印字符串

const char* a = "abcd";

printf("字符串:%s\n", a);
cout << a << endl;

3.打印字符串首地址

const char* a = "abcd";

printf("a存储的地址: %p\n", a);	
cout << "int*强转:" << (int*)a << endl;
cout << "void*强转:" << (void*)a << endl;

 全部总结:

const char* a = "abcd";
cout << a << endl;

printf("首字符:%c\n", *a);
cout << *a << endl;

printf("字符串:%s\n", a);
cout << a << endl;


printf("a存储的地址: %p\n", a);	
cout << "int*强转:" << (int*)a << endl;
cout << "void*强转:" << (void*)a << endl;

💗感谢阅读!💗


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2095864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新火种AI|减脂增肌没捷径?对不起,那是AI 出现以前的事情了...

作者&#xff1a;小岩 编辑&#xff1a;彩云 对于很多人来说&#xff0c;“拥有完美的身材”是人生的重要目标之一&#xff0c;练出好身材的人也会以此为傲&#xff0c;会把自己的好身材po到社交媒体上。换个角度来说&#xff0c;为了让自己社交媒体上的形象足够完美&#xf…

Axure RP下载+详细安装步骤资源百度云盘分享

众所周知&#xff0c;Axure全称“axure rp”&#xff0c;是一款专业的快速原型设计工具。 它能帮助网站需求设计者&#xff0c;快捷而简便的创建基于网站构架图的带注释页面示意图、操作流程图、以及交互设计&#xff0c;并可自动生成用于演示的网页文件和规格文件&#xff0c…

小琳python课堂:Python核心概念 类和对象

大家好&#xff0c;这里是小琳python课堂&#xff01;今天我们来聊聊Python中的类&#xff08;Class&#xff09;和对象&#xff08;Object&#xff09;&#xff0c;这是面向对象编程&#xff08;OOP&#xff09;的核心概念哦&#xff01;&#x1f31f; 面向对象编程就像是用“…

基于 INFINI Pizza 为 Hugo 静态站点添加搜索功能

INFINI Pizza 是 INFINI Labs 即将发布的一个基于 Rust 编写的搜索引擎&#xff08;即将完全开源&#xff09;&#xff0c;目前已经完成基本的搜索能力&#xff0c;并且基于 INFINI Pizza 的核心引擎&#xff0c;提供了一个 WASM 版本的超轻量级内核&#xff0c;可以很方便的嵌…

MicroNet关键代码解读(Micro-block与Dynamic Shift-Max的实现代码)

论文地址&#xff1a;https://arxiv.org/pdf/2011.12289 中文翻译&#xff1a;https://hpg123.blog.csdn.net/article/details/141772832?spm1001.2014.3001.5502 发表时间&#xff1a;2022 项目地址&#xff1a;https://github.com/liyunsheng13/micronet 在MicroNet论文中提…

查文献技巧,数模国赛必须掌握!

参加数学建模竞赛&#xff0c;拿到题目后第一件事就是去查文献&#xff0c;把题目的背景知识看懂。本文介绍查文献的一些技巧。 先看硕博士论文 硕博论文会对研究的问题有详细的背景和基础知识介绍&#xff0c;可帮助我们快速理解题目。 有个经典段子&#xff1a;学士、硕士…

对字符、字符串的研究

每日一背 C的字符串很特殊 //返回字符 char test2() {return p; } //返回整数 int test2() {return 90; } 其实字符串本就是很特殊的存在。字符型、整数算一类&#xff0c;但是字符串型区别前两个类。整数、字符都返回的是一个值&#xff0c;所以可以直接在主函数里面cout不…

《黑神话:悟空》火出圈儿,揭秘幕后实时渲染技术

游戏一度因被贴上“不务正业”、“虚度光阴”的标签而备受争议&#xff0c;然而随着该产业的蓬勃发展&#xff0c;一些游戏被纳入体育竞技项目&#xff0c;如今游戏领域吸引越来越多人的目光。当下火爆全网的《黑神话&#xff1a;悟空》&#xff0c;凭借炫酷逼真的3D效果和独特…

wordpress 页面URL自动跳转到图片地址?

比如你打开关于我们页面&#xff1a; yourdomain.com/about-us/ 结果自动跳转到了&#xff1a; yourdomain.com/wp-content/uploads/2024/08/about-us.jpg 刚开始以为是不是哪里设置了自动跳转&#xff0c;比如YOAST SEO里&#xff0c;但是结果发现不是。 结果发现&#x…

好用的运动耳机品牌推荐?几款开放式蓝牙耳机推荐

论好用的运动耳机推荐&#xff0c;我觉得开放式运动耳机是个不错的选择。主要是因为下面几点&#xff1a; 1舒适度&#xff1a;开放式耳机不封闭耳朵也不塞入耳朵耳道&#xff0c;所以就能够减少长时间佩戴可能造成的压耳感以及不舒服的体验。 2安全性&#xff1a;因为开放式…

鸿蒙(API 12 Beta3版)图形【AR Engine简介】 AR引擎服务

AR Engine&#xff08;AR引擎服务&#xff09;是一个用于在HarmonyOS上构建增强现实应用的引擎&#xff0c;提供了运动跟踪、环境跟踪和命中检测等空间计算能力。通过这些能力&#xff0c;您的应用可以实现虚拟世界与现实世界的融合&#xff0c;给消费者提供全新的视觉体验和交…

【数据结构初阶】二叉树--堆(顺序结构实现)

hello&#xff01; 目录 一、实现顺序结构二叉树 1.1 堆的概念和结构 1.2 堆及二叉树的性质 1.3 堆的实现 1.3.1 创建堆的结构 1.3.2 初始化和销毁 1.3.3 入堆向上调整算法&#xff08;创建一个小堆&#xff09; 1.3.4 出堆向下调整算法&#xff08;小堆&#x…

linux组合命令:删除一个目录树中所有的空目录(包括嵌套空目录)

目录 一、需求 二、实现方式 1、结合使用 find 命令删除空目录 &#xff08;1&#xff09;删除目录的方式 &#xff08;2&#xff09;只删除空目录 2、更高效的方法 &#xff08;1&#xff09;使用 find 搭配 -delete &#xff08;2&#xff09;实际效果 三、相关命令…

STM32MP157_uboot_命令使用

STM32MP157_uboot_命令使用 前言&#xff1a; 进入 uboot 的命令行模式以后输入“help”或者“&#xff1f;”&#xff0c;然后按下回车即可查看当前 uboot 所支持的命令&#xff0c;图 中只是 uboot 的一部分命令&#xff0c;具体的命令列表以实际为准。图中的命令并不是 uboo…

SpringBoot2:IOC容器的相关操作以及常用注解说明

一、查看容器中的Bean实例 查看springboot中的容器实例&#xff0c;首先&#xff0c;我们要获取到IOC容器。 //1、返回我们的IOC容器ConfigurableApplicationContext run SpringApplication.run(MainApplication.class, args);//2、查看容器里面的组件String[] names run.ge…

线性代数基础(2)——特征值和特征向量

第一节博客已经整理了求导的公式&#xff0c;一些常用的概念。链接如下&#xff1a;高等数学基础&#xff08;1&#xff09;-CSDN博客。 第二节博客整理了微积分的公式及其相关概念。链接如下&#xff1a;高等数学基础&#xff08;2&#xff09;——微积分-CSDN博客 第三节博客…

JavaWeb JavaScript ⑩ 日程管理 第一期

自我消耗&#xff0c;敏感是我&#xff0c; 明媚是我&#xff0c; 我横跳在不同的情绪中 —— 24.8.31 一、登录页及校验 1.校验账号格式 // 校验账号格式function checkUsername(){// 定义正则表达式表示字符串规则var usernameReg /^[a-zA-Z0-9]{5,10}$/;// 获取用户名输入…

96.WEB渗透测试-信息收集-Google语法(10)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;95.WEB渗透测试-信息收集-Google语法&#xff08;9&#xff09; • site &#xff1a; x…

【硬件操作入门】3--同步与异步、半双工传输、UART硬件介绍、bps速率计算

【硬件操作入门】3–同步与异步、半双工传输、UART硬件介绍、bps速率计算 文章目录 【硬件操作入门】3--同步与异步、半双工传输、UART硬件介绍、bps速率计算一、同步与异步1.1. 概念1.2 同步信号1.3 异步信号1.4 举个例子&#xff1a;红外遥控器解码器&#xff08;异步&#x…

一分钟学会系列-1电烙铁(焊台)

目录&#xff1a; ‌1、概述 2、电烙铁的种类 3、焊接步骤 4、电烙铁的保养 ‌1、概述 电烙铁‌是一种电子制作和电器维修中常用的工具&#xff0c;主要用于焊接元件及导线。使用电烙铁时&#xff0c;需要注意安全&#xff0c;并采取适当的预防措施&#xff0c;如使用风扇…