在 C 语言 中,字符串 其实是通过 字符数组 来实现的,因此,数组指针 的相关操作其实同样适用于字符串。同时,我们还可以直接通过指针的方式来定义一个字符串。
char *varName = "str";
参数 | 描述 |
---|---|
varName | 字符串变量名。 |
str | 字符串内容。 |
我们使用指针的方式,定义了一个字符串,并进行了初始化,同时,这里的 varName 指向了字符串的第一个元素。
char *varName;
varName = "str";
我们也可以先定义,后赋值的方式,来定义一个字符串。
通过指针,来遍历字符串
#include <stdio.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str[] = "HaiCoder";
int len = strlen(str);
int i = 0;
for(i = 0; i < len; i++)
{
printf("%c", *(str+i));
}
printf("\n");
return 0;
}
程序运行后,控制台输出如下图所示:
我们首先,定义了一个字符串,接着,使用了 strlen 函数,获取了该字符串的长度,最后,我们使用 for 循环 和指针的方式,打印了字符串中的每一个元素。
使用指针指向字符串
#include <stdio.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str[] = "HaiCoder";
int len = strlen(str);
char *pStr = str;
int i = 0;
for(i = 0; i < len; i++)
{
printf("%c", *pStr++);
}
printf("\n");
return 0;
}
程序运行后,控制台输出如下图所示:
我们直接定义了一个指针,其指向了字符串名,接着,我们就直接可以通过指针的移动来访问字符串中的元素。
我们还可以直接通过指针的方式定义字符串
#include <stdio.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char *str = "Hello,HaiCoder";
int len = strlen(str);
int i = 0;
for(i = 0; i < len; i++)
{
printf("%c", str[i]);
}
return 0;
}
程序运行后,控制台输出如下图所示:
我们直接通过指针的方式,定义了一个字符串,接着,我们使用了 for 循环加上索引的形式,遍历得到了字符串中的每一个字符。
通过指针的方式定义字符串
#include <stdio.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char *str;
str = "Hello,HaiCoder Hello,World";
int len = strlen(str);
char *pStr = str;
int i = 0;
for(i = 0; i < len; i++)
{
printf("%c", *pStr++);
}
printf("\n");
return 0;
}
程序运行后,控制台输出如下图所示:
我们先定义了一个字符指针,接着,给字符指针直接赋值为了一个字符串,最后,我们再次定义了一指针,指向了字符串,此时,我们就可以通过指针移动的方式来得到字符串中的每一个字符。
在 C 语言中,字符串其实是通过字符数组来实现的,因此,数组指针的相关操作其实同样适用于字符串。同时,我们还可以直接通过指针的方式来定义一个字符串。