C++ 打印字符串的地址

1、如下代码

char c[5] = {‘h‘, ‘a‘, ‘\0‘};
char *p = c;
cout << c << endl;
cout << p << endl;

输出结果为

ha
ha

2、分析
不论是指定字符串的名字还是指向字符串的指针,都输出的是字符串,这是由于cout 对字符数组做了处理。
如果想要打印字符串的地址的话,使用如下代码

cout << static_cast<void*>(c) << endl;
cout << static_cast<void*>(p) << endl;
时间: 2024-07-29 09:55:32

C++ 打印字符串的地址的相关文章

用指针打印字符串长度(指针 &amp; fgets函数)

1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #define MAX 1024 5 6 int main(){ 7 //用指针打印字符串长度 8 char str[MAX]; 9 char *target = str; 10 int length = 0; 11 12 printf("请输入一个字符串:"); 13 fgets(str, MAX, st

字符串取地址

#include <iostream> #include<string> #include <cstring> #include<vector> #include<sstream> #include<algorithm> #include <stdlib.h> #include <stdio.h> using namespace std; int main() { char *p="fdg"

按照长度递减的方式打印 字符串 &quot;BackSpace&quot;

/** * 按照长度递减的方式打印 字符串 "BackSpace" * 打印格式如下: * BackSpace * BackSpac * ackSpace * BackSpa * ackSpac * ckSpace * ..... */ /** * 按照长度递减的方式打印 字符串 "BackSpace" * 打印格式如下: * BackSpace * BackSpac * ackSpace * BackSpa * ackSpac * ckSpace * .....

实现sprintf--浮点数打印字符串

亲爱的程序猿们,你们肯定都用过printf吧?你们知道,看起来理所当然的简单的printf,实际上是个难倒众多计算机科学家的难题吗?直到1971年,才有我们的毒师Mr.White科学家(Jon White)解决这个问题,直到1990年,我们的Mr.White才正式发表这算法的最终版本,Dragon4, 在随后到最近的几十年来,语言上的各种浮点数打印字符串都是用Dragon4算法,其他人的研究都只是对这个算法修修补补,直到Grisu算法的出现.Grisu算法由Florian Loitsch发表,6

描述了say_hello函数的具体内容,调用zend_printf系统函数在php中打印字符串

下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构建一个空的php扩展,然后你向里面添加相应的代码就可以完成你自己的功能扩展了.下面我们就来介绍如何使用这个工具. 首先转移你的目录到php的目录下的ext目录,如果你只需要一个基本的扩展框架的话,执行下面的命令: ./ext_skel --extname=module_name module_nam

c++输出char型变量与字符串的地址

在c里面如果指针是一个基本数值型 int ,foalt ,long等,如果输出里有 cout << ptr << endl; 其中ptr是指针的名,则输出的值是指针的地址, 如果是char * (char指针) 则输出的是char指针的值. 在C++中,熟悉int和char型的变量是最基本不过的了,不过,我想,很多初学者会跟我一样,搞不懂如何输出一个char变量的地址?就举下面一个例子: int i=97; char c='a'; cout<<"line 1:

打印机打印字符串转字节数组截取半个中文导致的乱码问题

打印机打印的时候  要求:打印一行文字,但这行文字实际长度 len(单位是:px)是固定的 这时候我们的思路是  :GBK编码下汉字占用两个字节,而且这两个字节都是负数,char型字符占用一个字节, 每个汉字占用的宽度是24px   每个char型占用的宽度是12px    换言之每个字节占用的打印宽度是12px 本行所容纳的字节个数 num=len / 12: 这时候我们将字符串转为字节数组  截取num个字节放到字节数组,然后转为字符串就是该行打印的字符串 但是有个问题就是 当我们截取的最后

头条面试题之实现两个线程轮流打印字符串

在面试头条的时候,有一个很有意思的题目,利用两个线程交替打印一个字符串,这里主要就是对多线程中wait/notify的应用,特此记录. 对于wait()和notify()的理解,还是要从jdk官方文档中开始,在Object类方法中有: void notify() Wakes up a single thread that is waiting on this object’s monitor. 译:唤醒在此对象监视器上等待的单个线程 void notifyAll() Wakes up all t

左神算法第八节课:介绍递归和动态规划(汉诺塔问题;打印字符串的全部子序列含空;打印字符串的全排列,无重复排列;母牛数量;递归栈;数组的最小路径和;数组累加和问题,一定条件下最大值问题(01背包))

暴力递归: 1,把问题转化为规模缩小了的同类问题的子问题 2,有明确的不需要继续进行递归的条件(base case) 3,有当得到了子问题的结果之后的决策过程 4,不记录每一个子问题的解 动态规划 1,从暴力递归中来 2,将每一个子问题的解记录下来,避免重复计算 3,把暴力递归的过程,抽象成了状态表达 4,并且存在化简状态表达,使其更加简洁的可能 一:递归 1. 汉诺塔问题 汉诺塔问题(不能大压小,只能小压大),打印n层汉诺塔从最左边移动到最右边的全部过程. 左中右另称为 from.to.hel