- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(三)用字符指针数组指向多个字符串 指针数组定义的一般形式: [存储类别] 类型标识符 *指针数组名[常量表达式]; 如:char *a[3];定义了一个指针数组a,含有3个元素a[0],a[1],a[2]它们都是指针变量,并都指向字符类型。 二、字符指针变量与字符数组的区别 用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。 二、字符指针变量与字符数组的区别 三、指针型函数 在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。 定义指针型函数的一般形式为: [存储类别] 类型标识符*函数名(形参表) { …… /*函数体*/ } 【例5-11】本程序是通过指针函数,输入一个1~7之间的整数,输出对应的星期名。 常州信息职业技术学院 C语言程序设计 常州信息职业技术学院 C语言程序设计 5.5 字符指针 主讲人 张静 常州信息职业技术学院 2、了解指针型函数 3、能利用字符指针编写程序解决实际问题 知识/能力目标 1、理解和掌握字符指针的概念 (一)用字符数组实现 (二)用字符串指针指向 一个字符串 int main() { char s[]=”I love China!”; printf(%s\n,s); printf(“%s\n”,s+7); } I love China! China! int main() { char *s=”I love China!”; printf(%s\n,s); printf(“%s\n”,s+7); } 一、字符串的表示 I l o v e C h i n a ! \n s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] s[13] s s+7 【例5-9】用字符指针实现求字符串长度。 #includestdio.h #define N 50 int len (char *s) { int n=0; while(*(s+n)!=\0) n++; return n; } int main() { char str[N]; printf(输入字符串:\n); gets(str); printf(字符串的长度为:%d\n,len(str)); return 0; } 普通数组作为函数参数时要同时向函数传递数组的大小,但字符指针作为函数参数传递字符串时由于字符串可以通过’\0’的结束标志来判断字符串的大小,因此不需要向函数传递字符串的大小,只要传递字符指针,在函数中就可以操作整个字符串了。 【例5-10】 分别统计字符串中大写字母、小写字母、空格及数字字符的个数。 操作演示 字符指针变量与字符数组区别之一 字符指针变量本身是一个变量,用于存放字符串的首地址。字符数组是由若干个数组元素组成的,它可用来存放整个字符串。即,定义字符指针变量,只需要给该指针变量分配4个字节的空间用于存放字符串的首地址值即可,而字符数组所占用的空间就要根据该数组的大小来决定了,显然,在空间的开销上,使用字符指针更加节省。 字符指针变量与字符数组区别之二 对字符指针方式char *ps=C Language; 可以写为: char *ps; ps=C Language; /*ps是指针变量*/ 而对数组方式char st[]={C Language}; 不能写为: char st[20]; st={C Language};/*st是地址常量*/ 而只能对字符数组的各元素逐个赋值。 字符指针变量与字符数组区别之三 字符指针在接受键盘输入字符串时,必须先开辟存储空间。 对于字符数组char str[10];可以用scanf(“%s”,str);语句进行输入; 而对于字符串指针char *cp;则不能直接用scanf(“%s”,cp);语句进行输入;必须要先给cp开辟存储空间才可以,即: char *cp,str[10]; cp=str; scanf(“%s”,cp); 才是正确的。 做一做 【课堂实践5-8】 函数功能:把一个字符串的内容复制到另一个字符串中,并且不能使用strcpy函数。函数cprstr的形参为两个字符指针变量。pss指向源字符串,pds指向目标字符串。 #include stdi
文档评论(0)