C语言字符串指针

C语言字符串指针教程

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

C语言字符串指针详解

语法

char *varName = "str";

参数

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

说明

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

C语言字符串指针详解

语法

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; }

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

12_C语言字符串指针.png

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

C语言指针指向字符串

使用指针指向字符串

#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; }

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

13_C语言字符串指针.png

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

C语言通过指针定义字符串

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

#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; }

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

14_C语言字符串指针.png

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

C语言通过指针定义字符串

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

#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; }

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

15_C语言字符串指针.png

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

C语言字符串指针总结

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