在 C++ 中,字符串 是可以通过 字符数组 来实现的,因此,数组指针 的相关操作其实同样适用于字符串。同时,我们还可以直接通过指针的方式来定义一个字符串。
char *varName = "str";
参数 | 描述 |
---|---|
varName | 字符串变量名。 |
str | 字符串内容。 |
我们使用指针的方式,定义了一个字符串,并进行了初始化,同时,这里的 varName 指向了字符串的第一个元素。
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;
}
程序运行后,控制台输出如下图所示:
我们首先,定义了一个字符串,接着,使用了 strlen 函数,获取了该字符串的长度,最后,我们使用 for 循环 和指针的方式,打印了字符串中的每一个元素。
使用指针指向字符串
#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;
}
程序运行后,控制台输出如下图所示:
我们直接定义了一个指针,其指向了字符串名,接着,我们就直接可以通过指针的移动来访问字符串中的元素。
我们还可以直接通过指针的方式定义字符串
#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;
}
程序运行后,控制台输出如下图所示:
我们直接通过指针的方式,定义了一个字符串,接着,我们使用了 for 循环加上索引的形式,遍历得到了字符串中的每一个字符。
通过指针的方式定义字符串
#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;
}
程序运行后,控制台输出如下图所示:
我们先定义了一个字符指针,接着,给字符指针直接赋值为了一个字符串,最后,我们再次定义了一指针,指向了字符串,此时,我们就可以通过指针移动的方式来得到字符串中的每一个字符。
在 C++ 中,字符串其实是通过字符数组来实现的,因此,数组指针的相关操作其实同样适用于字符串。同时,我们还可以直接通过指针的方式来定义一个字符串。