码迷,mamicode.com
首页 > 其他好文 > 详细

第12次实验总结

时间:2016-12-18 09:50:40      阅读:430      评论:0      收藏:0      [点我收藏+]

标签:bsp   分配   情况   array   字符串常量   操作   结束   gets   scan   

知识点总结:

1.字符串和字符指针

如果定义一个字符指针接收字符串常量的值,该指针就指向字符串的首字符。这样,字符数组和字符指针都可以用来处理字符串。例如:

Char sa []=”array”;

Char *sp=”point”;

Printf(“%s”,sa);

Printf(“%s”,sp);

Printf(“%s\n”,”string”);

输出:

Array point string

调用printf(函数),以%s的格式输出字符串时,作为输出参数,数组名sa、指针sp和字符串“string”的值都是地址,从该地址所指定的单元开始连续输出其中的内容(字符),直至遇到‘\0’为止。

定义字符指针后,如果没有对它赋值,指针的值是不确定的,不能明确它指向的内存单元。

为了尽量避免引用未赋值的指针所造成的危害,在定义指针时,可先将它的初值置为空。 如:char *s=NULL。

2.常用的字符串处理函数 

1.字符串的输入和输出:函数scanf()和gets()可用来输入字符串,而printf()和puts()输出字符串。它们在系统文件stdio.h中定义。

scanf:格式控制字符串中使用格式控制说明%s,输入参数必须是字符型组名。该函数遇回车或空格输入结束,并自动将输入的数据和字符串结束符‘\0’送入数组中。

printf:格式控制字符串中相应的格式控制说明用%s,输出参数可以是字符数组名或字符串常量。输出‘\0’结束。例如:printf(“%s”,s);

字符串输入函数gets(s):参数s是字符数组名。函数从输入得到一个字符串,遇回车输入结束,自动将输入的数据和‘\0’送入数组中。采用函数gets()输入的字符串允许带空格。实际上函数gets()有返回值,如果输入成功则返回值是字符串第一个字符的地址,如果输入失败则返回NULL。但一般情况下使用gets()主要是为了输入字符串,而不关心它的返回值。

2.字符串输出函数puts(s):参数s可以是字符数组名或字符串常量。输出时遇‘\0’自动将其转换为‘\n’,即输出字符串后换行。同样函数puts()也有返回值,如果成功执行了输出字符串的操作,则返回换行符号‘\n’,否则返回EOF。

字符串的复制、连接和比较及字符串长度:字符串复制、连接和比较及计算字符串长度的函数,在系统头文件string.h中被定义。

 字符串复制函数char *strcpy(char *s1,char *s2):该函数把字串符s2复制到s1,直到遇到s2中的‘\0’为止。s1要有足够的空间容纳s2,且s1中的内容被覆盖,函数返回的是S1。同样可以简化以上函数的表达形式为:strcpy(s1,s2);参数s1必须是字符型数组基地址,参数s2可以是字符数组名或字符串常量。

3.用指针实现内存动态分配

动态内存分配的步骤:了解需要多少内存空间;利用C语言提供的动态分配函数来分配所需要的储存空间;是指针指向获得的内存空间,以便用指针在该空间内实施运算或操作;当使用完毕内存后,释放这一空间。

心得: 这次作业的第三题是一个很大的题,工程量很多,而且细节部分很难,这道题我重做了三遍又是问老师又是问同学,最不好检查的就是能运行但是数不对,我得从头到尾全看一遍。

第12次实验总结

标签:bsp   分配   情况   array   字符串常量   操作   结束   gets   scan   

原文地址:http://www.cnblogs.com/wangshixuan/p/6193686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!