C语言字符指针(char*)的用法(附带实例)

C语言字符指针(char*)的用法(附带实例)

在 C 语言中,可以通过两种方式访问一个字符串,一是使用字符数组,二是使用字符指针。

例如,利用字符型指针输出字符串“Hello World!”,具体代码如下:

#include

int main()

{

char* str = "Hello World!";

printf("%s",str);

return 0;

}

程序运行结果为:

Hello World!

程序中首先定义了字符型指针变量 str,用字符串常量“Hello World!”为其赋初值。注意,这里并不是把“Hello World!”中的所有字符存放到 str 中,只是把该字符串中第一个字符的地址赋给指针变量 str。

语句“char *str="Hello World!";”等价于下面两条语句:

char *str;

str="Hello World!";

【实例】不使用 函数库中的函数,利用指针实现字符串复制功能,具体代码如下:

#include

void _strcpy(char *str1, char *str2);

int main()

{

char str1[] = "you are beautiful"; /*定义字符串 1*/

char str2[] = ""; /*定义字符串 2*/

_strcpy(str1, str2); /*调用自定义函数_strcpy */

printf("复制之后的字符串为:%s\n", str2); /*输出复制之后结果*/

return 0;

}

void _strcpy(char *str1, char *str2) /*用户自定义函数,用于实现字符串复制*/

{

while(*str1 != '\0') /*将字符串 1 中的字符逐个复制到字符串 2 中*/

{

*str2 = *str1;

str1++;

str2++;

}

*str2 = '\0'; /*在字符串 2 的末尾添加结束符 '\0' */

}

程序运行结果为:

复制之后的字符串为:you are beautiful

自定义函数中,参数为两个指向字符型数据的指针变量。利用 while 循环,先将 str1 指向的内容赋给 str2 指向的元素,然后 str1 和 str2 分别加 1,指向下一个元素,直到 *str1 的值为“\0”为止。

这里有一点需要注意,就是 str1 和 str2 的值是同步变化的,若 str1 处在 str1[1] 的位置,str2 就处在 str2[1] 的位置;若 str1 处在 str1[2] 的位置,str2 就处在 str2[2] 的位置。

相关数据

拥抱冬天,这些冬季活动都太有趣啦!
beat365体育亚洲入口

拥抱冬天,这些冬季活动都太有趣啦!

⌛ 07-17 👁️ 2200
数据赢家CRM
365官网多少

数据赢家CRM

⌛ 07-24 👁️ 8762
P图表情包
必发365app官网

P图表情包

⌛ 08-12 👁️ 2574