C++字符串指针

C++字符串指针教程

C++ 中,字符串 是可以通过 字符数组 来实现的,因此,数组指针 的相关操作其实同样适用于字符串。同时,我们还可以直接通过指针的方式来定义一个字符串。

C++字符串指针详解

语法

char *varName = "str";

参数

参数 描述
varName 字符串变量名。
str 字符串内容。

说明

我们使用指针的方式,定义了一个字符串,并进行了初始化,同时,这里的 varName 指向了字符串的第一个元素。

C++字符串指针详解

语法

char *varName; varName = "str";

说明

我们也可以先定义,后赋值的方式,来定义一个字符串。

案例

指针遍历字符串

通过指针,来遍历字符串

#include <cstring> #include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; char str[] = "HaiCoder"; int len = strlen(str); for(int i = 0; i < len; i++) { cout << *(str+i); } return 0; }

程序运行后,控制台输出如下图所示:

12_C字符串指针.png

我们首先,定义了一个字符串,接着,使用了 strlen 函数,获取了该字符串的长度,最后,我们使用 for 循环 和指针的方式,打印了字符串中的每一个元素。

C++指针指向字符串

使用指针指向字符串

#include <cstring> #include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; char str[] = "HaiCoder"; int len = strlen(str); char *pStr = str; for(int i = 0; i < len; i++) { cout << *pStr++; } cout << endl; return 0; }

程序运行后,控制台输出如下图所示:

13_C字符串指针.png

我们直接定义了一个指针,其指向了字符串名,接着,我们就直接可以通过指针的移动来访问字符串中的元素。

C++通过指针定义字符串

我们还可以直接通过指针的方式定义字符串

#include <cstring> #include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; char *str = "Hello,HaiCoder"; int len = strlen(str); for(int i = 0; i < len; i++) { cout << str[i]; } cout << endl; return 0; }

程序运行后,控制台输出如下图所示:

14_C字符串指针.png

我们直接通过指针的方式,定义了一个字符串,接着,我们使用了 for 循环加上索引的形式,遍历得到了字符串中的每一个字符。

C++通过指针定义字符串

通过指针的方式定义字符串

#include <cstring> #include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; char *str; str = "Hello,HaiCoder Hello,World"; int len = strlen(str); char *pStr = str; for(int i = 0; i < len; i++) { cout << *pStr++; } cout << endl; return 0; }

程序运行后,控制台输出如下图所示:

15_C字符串指针.png

我们先定义了一个字符指针,接着,给字符指针直接赋值为了一个字符串,最后,我们再次定义了一指针,指向了字符串,此时,我们就可以通过指针移动的方式来得到字符串中的每一个字符。

C++字符串指针总结

在 C++ 中,字符串其实是通过字符数组来实现的,因此,数组指针的相关操作其实同样适用于字符串。同时,我们还可以直接通过指针的方式来定义一个字符串。