首页 理论教育 使用字符指针处理字符串-《C语言程序设计》摘要

使用字符指针处理字符串-《C语言程序设计》摘要

时间:2023-10-20 理论教育 版权反馈
【摘要】:使用字符指针处理字符串是C语言中更为常用的方法。使字符型指针指向字符串的方法通常有两种:通过定义指针变量时初始化指向字符串。程序代码:运行结果:程序讲解:在本例中,p1,p2是指向字符型数组的指针变量。它们与字符数组a、b的不同之处:前者是指针变量,可以移动;而后者是数组名,是数组在内存的首地址,是常量。

使用字符指针处理字符串-《C语言程序设计》摘要

使用字符指针处理字符串是C语言中更为常用的方法。它首先通过一定的方式,用字符指针指向字符串,然后通过字符指针来访问字符串存储区域,从而实现对字符串的操作。

使字符型指针指向字符串的方法通常有两种:

(1)通过定义指针变量初始化指向字符串。例如:

"this is a string"是一个字符串,它保存在计算机的一个内存区域。用该字符串对字符指针变量string初始化,就是把字符串首地址赋给指针变量string。

(2)利用赋值语句使指针变量指向字符串。例如:

注意:这里的string指向了字符串"this is a string",实际上是程序将字符串的首地址给了指针变量string,而不是把字符串存入到指针变量的空间中,更不是把字符串赋给*string。

比如下面的表示方法是错误的:

【例9.9】用字符指针和字符数组输出字符串。

程序代码:

运行结果:

程序讲解:

数组mystr 和指针变量pstr在内存中的存储如图9.5所示。由图可以清楚地看出,用字符数组存储字符串时,整个字符串的所有均存储在指定的数组中;而用指针变量存储字符串时,指针变量只是指向字符串的首地址,字符串存储在以指针为首地址的连续区域内。

图9.5 字符串的存储(www.xing528.com)

【例9.10】从键盘上输入一行字符,统计其中字母的个数。

程序代码:

运行结果:

程序讲解:

本例程序中,定义字符数组s 和字符指针pstr,并把数组名s 赋给字符指针pstr,pstr 指向字符数组s,并初始化n=0。从键盘输入一串字符,并判断是否是小写字母还是大写字母,如果成立,n 的值加1。输入完毕后,把n 的值输出。

注意:在初始化时,可以直接将字符串整体赋给字符数组或字符指针,但在一般赋值语句中,只能将字符串整体赋给指向字符串的指针变量,而不能整体赋给一个字符数组。

例如:

【例9.11】利用字符指针变量,实现将a 数组中存放的字符串复制到b 数组中。

程序代码:

运行结果:

程序讲解:

在本例中,p1,p2是指向字符型数组的指针变量。它们与字符数组a、b的不同之处:前者是指针变量,可以移动;而后者是数组名,是数组在内存的首地址,是常量。第一个for循环语句中的"p1++,p2++"表示指针变量p1,p2分别向后移动一个长度单位。

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

我要反馈