服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++中两种字符串定义方式和区别介绍

C++中两种字符串定义方式和区别介绍

2022-08-16 10:05吃块小饼干吧 C/C++

大家好,本篇文章主要讲的是C++中两种字符串定义方式和区别介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

前言

在学习字符串这方面的内容时,发现字符串定义的两种方式虽然内容相同但还是有细微的区别

 

概念

字符串就是一串用双引号连接起来的字符串字面值,简称为字符串

 

定义方式

上代码

char acter1[]="Hello world";//第一种定义方式
 
char acter2[]={"H","e","l","l","o","w","o","r","l","d"}; 第二种定义方式

此时并不能看出这两种定义方式的区别,拿到VS调试器看看

 

C++中两种字符串定义方式和区别介绍

很明显的看出,第一种定义方式末尾添加了一个字符'',而''就是字符串的转义字符

C++中两种字符串定义方式和区别介绍

而第二种定义方式就没有自动添加结束标志

再看一下彼此的输出结果

C++中两种字符串定义方式和区别介绍

 第一种定义方式输出了我们想要的结果,而第二种定义方式则输出了乱码,我们不想要的字符

接下来我们来讨论这个现象出现的原因

 

计算机的存储方式

在计算机中,内存是连续存储的,我们创建一个数组出来,就是在内存中随机开辟出一块内存空间来

而这块空间的前后有什么数据,我们并不是很清楚

C++中两种字符串定义方式和区别介绍

 如上图,在第二种定义方式的影响下,我们没有设定字符串结束标志,那么它就会在后面随机生成,至于是在第几位我们并不清楚,所以会出现乱码

假如我们自己添加上'',结果就会出现我们想要的样子,如下图

C++中两种字符串定义方式和区别介绍

 而我们也只能控制后面的字符,而无法控制前面的字符

 

总结

推荐使用第一种定义方式

到此这篇关于C++中两种字符串定义方式和区别介绍的文章就介绍到这了,更多相关C++字符串定义方式内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_57645160/article/details/122437198

延伸 · 阅读

精彩推荐
  • C/C++c++ dynamic_cast与static_cast使用方法示例

    c++ dynamic_cast与static_cast使用方法示例

    本文用示例讲解了dynamic_cast、static_cast子类与基类之间转换功能的使用方法...

    C++教程网8852021-01-09
  • C/C++C语言圣诞树的实现示例

    C语言圣诞树的实现示例

    本篇主要介绍了C语言圣诞树的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    补集王子7682022-07-16
  • C/C++C++ 标准模板库 STL 顺序容器详解

    C++ 标准模板库 STL 顺序容器详解

    这篇文章主要介绍了C++ 标准模板库 STL 顺序容器详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    海华啊4042021-11-05
  • C/C++C语言实现经典24点算法

    C语言实现经典24点算法

    这篇文章主要为大家详细介绍了C语言实现经典24点算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    mingwar12002021-08-04
  • C/C++构造函数不能声明为虚函数的原因及分析

    构造函数不能声明为虚函数的原因及分析

    构造函数不需要是虚函数,也不允许是虚函数,因为创建一个对象时我们总是要明确指定对象的类型,尽管我们可能通过实验室的基类的指针或引用去访问...

    C语言教程网5482021-01-05
  • C/C++C++运算符重载的详细讲解

    C++运算符重载的详细讲解

    这篇文章主要给大家介绍了关于C++运算符重载的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    Thrush''''s note5412021-10-29
  • C/C++深入理解结构体中占位符的用法

    深入理解结构体中占位符的用法

    本篇文章是对结构体中占位符的用法进行了详细的分析介绍,需要的朋友参考下...

    C语言教程网3852020-12-10
  • C/C++C++实现LeetCode(117.每个节点的右向指针之二)

    C++实现LeetCode(117.每个节点的右向指针之二)

    这篇文章主要介绍了C++实现LeetCode(117.每个节点的右向指针之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以...

    Grandyang7362021-12-02