c++通过cout输出字符变量的地址

FPGA实现PI控制 阅读详情

今天,我遇到了这样的一种情况,我想输出一个字符串的首地址。
那么该怎么输出呢?通常我们可能的想法是直接cout啊。
比如:

char ss[20]="hello";
cout<<ss<<endl;

运行结果:
hello

我们会发现,ss存储的值虽然是一个地址,但我们执行cout的时,实际上它会输出ss指向的字符串。
那该怎么办?我在输出的时候其实考虑到上面的情况了,然后我想了想,如果我这样输出是不是就可以了:

char ss[20]="hello";
cout<<&ss[0]<<endl;

但实际运行结果还是:

hello

通过上面的例子我们会发现,只要我们cout后面的输出对象是一个char*的类型时,它都会当作要输出这个地址指向的字符串来执行。它会从这个地址开始输出字符,直到遇到’\0’停止。那我们怎样才能让cout输出char*类型存值的地址呢?
c是靠%s,%x,%p来区分指针表达式&ss[0]的输出形式的;c++没有这个格式控制,只能按一种形式输出。
c++标准库中I/O类对输出操作符<<重载,在遇到字符型指针时会将其当做字符串名来处理,输出指针所指的字符串。
既然是这样,我们只需要将char*类型的指针进行强制转换成别的类型的指针,cout就会输出指针存储的地址。我们可以把它强转成void*类型。

char ss[20];
cout<<(void*)ss<<endl;

运行结果:

0x7fff695cf900

Arduino ESP32S3 基础入门教学大纲 ESP32环境、Arduino 阅读详情

相关推荐

巨量千川M-API实战:异步报表与批量操作自动化指南

API(应用程序编程接口)是现代软件系统间通信和数据交换的核心技术,它定义了服务间交互的协议和规范。在数字营销领域,营销API(Marketing API)通过程序化接口实现了广告账户管理、数据获取和操作自动化的能力,其技术价值在于将重复性人工操作转化为高效、准确的自动化流程,显著提升运营效率并降低人为错误。在广告投放精细化运营场景中,面对海量数据报表的获取与批量广告状态管理的需求,异步任务处理和批量操作接口成为关键技术解决方案。本文聚焦巨量千川M-API,深入解析其异步报表获取机制与批量操作实现,涵盖从任

weixin_32932149的博客 429

【自学C++】C++输出cout

在 C++ 中,我们要输出变量,直接使用 std 命名空间中的 cout 即可,同时,cout 不需要指定任何的输入格式。在 C++ std 命名空间中,用于输出的不仅仅只有 cout,还有 clog 和 cerr,分别用于输出 log 和删除错误信息,他们使用都跟 cout 一模一样。

haicoder_ibai的博客 4271

SRE校招面试全攻略:从基础理论到实战场景解析

本文为SRE(站点可靠性工程)校招面试提供全面攻略,涵盖计算机基础、运维核心技能、场景设计与系统架构等关键模块。文章结合真实面试真题,解析了从Linux原理、网络协议到容器化、监控告警等实战考点,并分享了高可用设计、故障排查等工程思维,旨在帮助应届生夯实基础、理清思路,从容应对SRE校招挑战。

bush的博客 643

C++使用cout输出

在这个示例中,我们使用了 `std::cout` 对象输出了一个字符串和一个整数变量 `x` 的值。注意,我们在输出语句的末尾加上了 `std::endl`,这是一个输出流控制符,表示输出一个换行符并刷新输出缓冲区。`cout` 是 C++ 标准库中的一个输出流对象,它定义在 `iostream` 头文件中。通过 `cout` 对象,我们可以将数据输出到控制台或者文件中。除了输出字符串和变量的值外,`cout` 还支持输出其他类型的数据,例如浮点数、字符、布尔值等等。

m0_74712204的博客 2322

S32DS3.5图形化配置实战:从零构建S32K144通信接口工程

本文详细介绍了如何使用S32DS3.5图形化配置工具从零构建S32K144通信接口工程。通过实战演示引脚配置、时钟树设置、SPI接口搭建等关键步骤,帮助开发者快速掌握NXP S32K系列开发技巧,提升嵌入式开发效率。特别针对S32DS3.5版本的新特性进行了深度解析,包括智能代码生成和调试优化方法。

weixin_26834815的博客 199

攻克反光难题!YOLOv9工业缺陷检测实战:高反光件、微小划痕精准识别(附抗反光代码+产线数据)

文章摘要:本文针对不锈钢、铝合金等高反光工业件的缺陷检测难题,提出了一套“硬件抗反光+YOLOv9小目标增强”的解决方案。通过分析反光干扰(镜面/漫反射)和微小划痕(0.1mm级)两大核心问题,详细介绍了500万像素工业相机+偏振光源的硬件配置方案,以及基于偏振图像融合和超分辨率放大的预处理方法。最终实现误检率1.2%、微小划痕检出率99.3%的工业级检测效果,并提供了可落地的代码实现和车间实测数据。(148字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1039

c++ :cout输出变量的地址,输出string 、char*的地址,即输出字符串首地址;cout与printf;void*的作用。

目录前言一、pandas是什么?1.1cout与printf二、实例1.示例2.printf 的输出类型参考 前言 char m_char[20] = "temp"; char *ptr_char= m_char; 对于m_char的地址或者ptr_char指针的值怎么输出呢? 一、pandas是什么? 对于指针变量来说, (void*)取到的是指针值,也就是目的地址,而&取到的是指针变量的地址。 **char m_char[20] = "temp";** 对**m_char**来说, (v

多丰富下自己呀 5813

十分钟搞定! DeepSeek本地部署详细指南!

保姆级教程,三步搞定deepseek本地部署,不求人!

一个喜欢诗和远方的程序媛 4345

使用cout输出字符串的地址

ostream类为下面的指针类型定义了插入运算符 const sighed char * const unsighed char * const char * void * 所以cout语句都会直接显示字符串: char name[20] = "Hello"; char * pn = "Hello"; cout << "Hello"; cout << name; cou...

小白tree的博客 3715

【图像去噪】基于偏微分方程(PDE)实现图像去噪附matlab代码

在工程应用中,图像信息通过数字图像系统进行处理、存储和传输等加工变换时,由于不可避免地受到噪声干扰,使得原始图像信息产生偏差和失真,给图像的后续处理带来不便,进而影响人们对图像视觉特性的认知程度。因此,为了改善图像的质量效果,提高人们对图像视觉特性的认知度,对图像噪声进行有效去除,降低噪声对图像信息的干扰是很有必要的。近年来,基于偏微分方程( partial differential equation,PDE) ​的图像去噪方法在计算机视觉和图像处理等技术领域得到了广泛的重视,因为它在平滑噪声的同时,能够很

qq_59747472的博客 855

IP-guard发布新版本4.87.2241.0

IP-guard发布了新版本4.87.2241.0,用户可通过提供的下载地址获取完整安装包和升级包。下载后,用户需联系厂家申请测试序列号以进行安装和使用。IP-guard是一款专注于企业文件加密、文档加密系统、防泄密软件、数据安全的软件。

IP-Guard专栏 1525

cout输出字符串地址

我今天试了一下,发现在C++中,如果我们想cout一个字符数组的话,那么它就会沿着这个地址,一直输出输出这个字符串,直到遇到'\0'。例如下面这个例子: char *c="cadn\0hello"; cout<<c<<endl; 输出的结果是:cadn 如果我们自作聪明的想输出第一个字符的地址,例如这样输出: cout<<&c[0]<<endl; 不幸的是,这样

月光xia漫步 4075

高速电路设计必看:同步开关噪声问题解析

数字电路中的同步开关噪声(SSN)问题日益突出,尤其是随着高速器件应用增多。本文分析了地弹和电压弹的产生机理,指出其与电源网络电感、输出驱动电流变化率密切相关。文章详细阐述了地弹参数特征,包括峰值电压、脉冲宽度等关键指标,并探讨了负载电容、信号压摆率等因素对地弹的影响。最后提出系统化的解决方案,涵盖芯片选型、电路设计、PCB布局和后期调试等多个环节,强调通过降低回路电感和控制电流变化率来有效抑制SSN。这些措施需要在性能、成本和复杂度之间取得平衡,为高速数字电路设计提供了重要参考。

一只豌豆象的博客 296

C++ cout输出 字符型变量的地址

点击打开链接

xtji1988的专栏 3175

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C++ cout输出 字符型变量的地址

在C++中,如果cout一个字符数组的话,那么它会沿着这个地址,一直输出这个字符串,直到遇到'\0' 实际上,C++标准库中I/O类对输出操作符 #include int main(){ const short ITEMS=5; int intArray[ITEMS]={1,2,3,4,5}; char charArray[ITEMS]={'L','M','Y','L','

u012948302的专栏 4714

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C++关于cout输出字符型变量的地址

运行结果:

qq_56615615的博客 532

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

关于字符变量内存地址

C++关于使用cout输出字符地址

小胖七少爷的博客 386

C++有关char变量地址输出的问题

C语言中变量地址的输出一般用%p,例如:     char a;     printf("address of a is %p\n", &a); 输出结果:address of a is 0x7ffef3fc9aef 在C++中写了如下代码:     char a;     cout 输出结果却出乎了我的意料:address of a is  ªþ 竟然输出了神秘东东,

在超神的路上 962

【C++】深入理解字符变量取地址的特殊性与内存管理机制详解

通过今天的讨论,我们深入理解了以下几点: 栈内存的分配顺序:栈内存从高地址向低地址分配,谁在最后声明,谁的地址最低。 cout 的输出行为**:cout 是按照代码书写的顺序依次执行的,输出地址时,按内存地址从低到高递增读取,直到遇到 \0 结束。 乱码的原因:cout

禅宗里有一个词叫做“因缘和合”。 所谓因缘,是指事件要发生所必须的条件。因缘和合就是当你聚集了这件事的一切条件,它就会自然而然的发生。“它就会自然而然的发生”,这种朴素而坚定的价值观让我们感到无比安心,安心到可以不用有任何担心焦虑。 925

为什么“cout << &c << endl;”这个语句有问题?

先看程序: #include using namespace std; int main() { char c = 'A'; cout << &c << endl; return 0; }    结果为乱码,为什么呢? 因为cout将&c当成了char *形式了,进而认为输出一个字符串,验证如下: int main() { char c = 'A'; cout << &c <<

认知 行动 坚持 9480

c++输出字符串变量地址

在c++中用cout输出字符串变量地址,代码: char var[] = "zhoujinxing"; cout << var << endl; cout << &var << endl; cout << var[0] << endl; cout << &var[0] << endl; cout << (void *)&var[0

南沙的星星 1992

C++中字符型变量的地址输出

在C++中,如果cout一个字符数组的话,那么它会沿着这个地址,一直输出这个字符串,直到遇到'\0',例如:  char*c="cadn\0hello";  cout 输出的结果是:cadn 如果我们自作聪明的想输出第一个字符的地址,例如这样输出:  cout 不幸的是,这样输出的结果依旧不是我们需要的地址。 但是,如果我们回归到C语言的话,例如用printf的话,如下:  pri

Guo_guo 1万+

[转] C++中字符型变量的地址输出

> http://blog.youkuaiyun.com/sszgg2006/article/details/7982866 > 转载来自于在C++中,如果cout一个字符数组的话,那么它会沿着这个地址,一直输出这个字符串,直到遇到’\0’,例如:  char*c=”cadn\0hello”;  cout<<c<<endl; 输出的结果是:cadn 如果我们自作聪明的想输出第一个字符的地址,例如这样输出:  c

snikerlii的博客 600

Cout输出字符地址问题

Cout输出字符型地址时,需要注意 例: struct    {        int a;        char b; }A;            int main() { std::cout //正确 std::cout (   &   A.b  ) } // 原因: 输出字符型变量的地址  被认为是char   *  char   *被co

Lee的博客 1516

字符串的特殊性

char *str = "fsdfsfs"; 打印

weisme的专栏 1213

c++ 指针

c++ 指针 #include <iostream> using namespace std; int main () { int var1; char var2[10]; cout << "var1 变量的地址: "; cout << &var1 << endl...

luoganttcc的博客 103
上一篇: linux下c++连接mysql数据库
下一篇: Linux进程间通信之管道
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值