C++通过字符串指针打印字符串
学习数据结构与算法到哈夫曼树编码时,存储的哈夫曼编码数据无法打印,因为我之定义了一个指向字符串数组的指针,在网上看到了通过字符串指针打印整个字符串数组的方法,记录一下,后面可能会用到!
1 定义一个字符串数组:
char a[6] = "hello";
注意:这里实际存储时是“hello\0”,所以这个字符串数组中含有6个元素,其中“\0”是截止符,对我们打印输出起到重要的作用。
2 打印:
char a[6] = "hello";char* p = a;while (p){cout << *p++ << endl;}
这种打印方式会报错,因为p是一个地址,地址++一直都是存在的,所以循环条件要替换成 *p,当 *p=“\0”时,因为‘\0’的ASCII码值为0,所以跳出循环。
3 改进打印方式
char a[6] = "hello";char* p = a;while (*p){cout << *(p++);}
打印正确:
4 另一种打印方式:
char a[6] = "hello";for (char* p = a; p[0]; ++p){cout << *p;}
打印正确:
这种打印方法的解释:
for循环中p[0]的值为p指向地址的存储的元素,也就是*p,这样的话就与3中的打印方式一样了。
参考:C++中怎么通过指针输出字符串?
参考:
C++通过字符串指针打印字符串相关推荐
- 字符串指针——指向字符串的指针
转载自:字符串指针 字符串指针--指向字符串的指针 C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在<C语言字符数组和字符串>中已经进行了详细讲解,这里不妨再来演示 ...
- 【关于如何输出字符串指针指向字符串地址】
在研究字符串指针时发现一些与整形数组指针反常的现象,于是决定深入了解一下,以下是本人的拙见,欢迎大佬指正. #include<iostream> using namespace std; ...
- C++ 字符串指针与字符串数组
在做面试100题中第21题时,发现char *astr="abcdefghijk\0";和char astr[]={"abcdefghijk"};有点区别,以前 ...
- C++ 字符串指针和字符串指针数组详解
C++处理字符串有两种方式,即:指针方式和数组方式 数组方式:char a[] = "HelloWorld"; 指针方式:const char* s = "HelloWo ...
- 字符串指针与字符串数组
C/C++中每一个字符串都以'\0'结尾,以方便找出字符串的尾部.但由于这个特点,会存在额外的开销,不小心导致越界的情况.如下面的代码: char str[10]; strcpy(str," ...
- 面试题--字符串指针与字符串数组的区别char* st=abc;与char* str[]=abc;的异同
题1. 删除串中指定的字符(做此题时,千万不要开辟新空间,否则面试官可能认为你不适合做嵌入式开发) 参考代码: void delChar(char* str, char c) { int i, j ...
- C语言—字符串与字符数组,字符串数组与字符串指针的区别
字符串与字符数组 字符串一定是一个char的数组,但char的数组未必是字符串.--以字符'\0'结尾的char数组就是一个字符串,但如果char数组没有以'\0'结尾,那么就不是一个字符串,只是普通 ...
- C和指针之二维字符串数组用指针数组、数组指针、二级指针打印
1.问题 二位字符串数组用指针数组.数组指针.二级指针打印 2.测试代码 #include <stdio.h>int main() {char value[4][5] = {& ...
- printf打印字符串的时候可以printf(“%s“,buf);buf可以是字符串名或者指针
printf打印字符串的时候可以printf("%s",buf);buf可以是字符串名或者指针 比如buf可以是 char buf[10] 也可以是 char *buf[10 ...
最新文章
- php调用百度地图技术,调用百度地图
- 开关电源输出整流二极管
- golang 随机数 实现
- 【风控】作弊用户行为序列图片化
- [11] ADB 实用功能
- 北师大计算机组成原理答案,计算机组成原理(白中英)本科生试题库整理附答案[共21页].doc...
- TensorFlow基础篇(二)——tf.get_variable()和tf.get_variable_scope()
- 观察0号中断:除数为0
- Java 质数输出的经典算法题面试可以用
- 如何在 Mac 上使用“接力”回到上次离开的地方?
- 密码编码学初探——消息认证码
- 闲谈IPv6-我们在技术思维上需要作出改变(1)
- 嵌入式linux时间同步,ntpdate的交叉编译
- 域用户登录方法在计算机上不被允许,域管理员不允许本地交互式登陆的解决方法...
- [IOT安全][原创]钉钉智能指纹考勤机M1智能硬件漏洞挖掘(一)
- 那么普通却那么自信?浅谈元认知能力会怎样影响一个人的判断
- 指挥计算机工作的程序集,主互操作程序集(PIA)是否要求在计算机中安装Microsoft Office才能工作...
- 知人知面需知心——论人工智能技术在推荐系统中的应用
- 福大软工1816 ·软工之404NoteFound团队选题报告
- 我对软件测试行业的看法