首页 理论教育 使用字符串指针处理字符串-快速入门

使用字符串指针处理字符串-快速入门

时间:2023-11-20 理论教育 版权反馈
【摘要】:我们知道使用char类型的数据是用来处理字符串的,而数组又可用相应数据类型的指针来处理,所以可以用char型指针来处理字符串。通常把char型指针称为字符串指针或字符指针。我们来看一个例子: strlen()是使用字符串指针来计算字符串长度的函数。

使用字符串指针处理字符串-快速入门

我们知道使用char类型的数据是用来处理字符串的,而数组又可用相应数据类型的指针来处理,所以可以用char型指针来处理字符串。通常把char型指针称为字符串指针或字符指针。

我们来看一个例子:

【例8.5】 strlen()是使用字符串指针来计算字符串长度的函数。

定义字符指针可以直接用字符串作为初始值,来实现初始化,可以将程序中的char str[]={"Program"};改写成:

char*str="Program";

或者

char*str;

str="Program";

注意,这样的赋值并不是将字符串复制到指针中,只是使字符指针指向字符串的首地址。但对于数组,例如:

char str[10];

str="Program";

这样写是不对的,str是数组名,而不是指针,只能按字符数组初始化操作,即

static char str[]={"Program"};

当字符串常量作为参数(实参)传递给函数时,实际传递的是指向该字符串的指针,并未进行字符串复制。

【例8.6】 向字符指针赋字符串。(www.xing528.com)

执行结果:

Hello!

Good-bye!

在这个例子中字符串是逐个字符输出的,也可以字符指针为变量,作字符串输出,例如,

printf("%s",s);

printf("%s",p);

【例8.7】 以字符指针为参数来调用字符串比较函数strcomp()。

strcomp()函数的形参s和t初值已由实参传递过来了,所以for语句的第一个表达式可以省略不写。

用指针处理字符串的复制,比用数组处理更精练。例如:

如果用数组处理则要复杂些,例如:

直接演化出指针处理,即

第1段程序是第3段程序的进一步简化,而且不必进行与978-7-111-36320-0-Chapter08-21.jpg\0978-7-111-36320-0-Chapter08-22.jpg的比较。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈