05 c语言风格的字符串
在之前我们学习过,在 c++中创建字符串型有两种方法。一种是 c 语言风格的字符串,一种是 c++风格的字符串。我们先简单回顾一下。
-
c 语言风格的字符串
语法:
char 变量名称[] = "字符串"
#include
using namespace std; int main() { char hello[] = "hello world!"; cout << hello << endl; return 0; } -
c++风格的字符串
语法:
string 变量名 = "初始值"
注意:使用 c++风格的字符串的时候需要添加头文件:
#include<string>
。#include
#include using namespace std; int main() { string hello = "hello world!"; cout << hello << endl; return 0; }
在这里,我们发现 c 语言的字符串非常像创建数组的语法。这是因为,在 c 语言中,字符串就是char
数组。
如果我们创建如下两个char
数组:
#include <iostream>
using namespace std;
int main()
{
char dog[] = { 'd','o','g' };
char cat[] = { 'c','a','t','\0'};
cout << "dog:" << dog << endl;
cout << "cat:" << cat << endl;
return 0;
}
运行结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
dog:dog烫烫烫烫蘡at
cat:cat
发现打印dog
的时候出现了乱码。这是因为,dog
只是一个数组,而cat
就是一个字符串。
c 语言风格的字符串有一种特殊的性质,使用空字符结尾。空字符写作\0
,其 ASCII 码值为0。这是用来标记字符串的结尾。
:-)