C语言基础(三):字符串处理函数

1、函数

C语言是结构化语言,它的主要结构成分是函数.函数作为一种构件,用以完成程序中的某个具体功能.函数允许一个程序的各个任务被分别定义和编码,使程序模块化.因此,设计良好的函数不仅能正确工作,而且不会对程序的其它部分产生副作用.

​​​​​​​函数的类型说明:默认情况下,函数被自动说明为整型.函数必须在第一次调用前定义,这样编译器才能找到该函数.

​​​​​​​返回值:函数的返回语句return有两个作用:其一,结束当前函数,调用者获得程序控制权;其二,将计算结果传递给调用者.函数的结束有两种情况,一是函数体内所有的代码执行完毕,二是return语句被执行.

​​​​​​​函数的作用域规则:作用域规则是指代码或者数据的有效使用范围.

C语言将函数作为独立的代码块,函数之间不能相互访问其内部的代码或数据.函数间数据的传递只能通过接口实现.但是,变量的定义方法可改变函数的作用域规则,可将变量分为局部变量和全局变量两种.

  • 局部变量:在函数体内部定义的变量称为局部变量,局部变量的作用域仅限于该函数体内.声明局部变量的关键字为auto.(在独立的代码块中定义的局部变量,作用域在该代码块内)
  • 全局变量:全局变量的作用域为整个源程序文件,文件中的所有函数或程序块都可以引用.当定义全局变量时,需要将变量的声明语言放置在所有函数外.

在另一方面,从变量的生存周期来分类,可将变量分为动态存储变量和静态存储变量.

  • 动态存储变量:在函数调用是放入内存,函数调用结束后从内存中删除.声明的关键字为auto

存在一种动态存储变量叫做寄存器变量.CPU读取寄存器内的数据及其快捷.因此,将程序中需要大量反复使用的变量设为寄存器变量可提高程序的运行速度.声明关键字为register.

  • 静态存储变量:在编译时分配存储空间的变量称为静态存储变量.在函数退出时,静态存储变量依然被保留在内存中,再次执行同一函数时会得到与上次退出时相同的数值.声明的关键字为static.
  • 赋值调用与引用调用:赋值调用与引用调用是传递数据给函数的两种形式.前者是将实际参数的数值传递给形式参数,后者是将实际参数的内存地址传递给形式参数.赋值调用不会改变实际参数原有的数值,而引用调用则可能改变实际参数的数值.使用引用调用时,参数的类型需设置为指针.​​​​​​​
  • 递归函数:递归函数是指能够直接或通过另一个函数间接调用自身的函数,调用自身的方法称为递归调用.递归调用的本质是使用同一算法将复杂的问题不断化简,直到该问题解决.

2、常用字符串处理函数

字符处理库ctype.h,实用函数库stdlib.h,字符串处理库string.h中的函数是开发文本编辑器,通信软件等程序的基础.

2.1 字符

​​​​​​​字符编码:在Linux系统上开发程序时,应考虑双字节编码的问题,尽量不使用字符型变量来接受系统传入的字符型数据,以及使字符型数组的长度保持为偶数.​​​​​​​

字符处理库:字符处理库ctype.h包含一系列对ASCII编码字符数据进行测试和处理的函数.每个函数接受一个整形数据作为参数,或者用文件结束符EOF作为参数.

​​​​​​​2.2 字符串转换函数

在程序设计中,有时需要将字符串多代表的数字转换为其他类型的数值,或者将其他类型的数值转换为字符串表示的数据.实用函数库stdlib.h提供了这一类函数.

​​​​​​​2.3 字符串处理函数

字符串处理库string。

2.4 字符串比较函数

2.5 字符串查找函数

​​​​​​​2.6 字符串内存函数

内存函数将内存块作为字符数组进行处理,能复制,比较和查找内存块。

2.7 其它字符串处理函数

函数strerror()的参数为错误代码编号,该编号在Linux内核中定义.

总结:借助指针和内存处理函数,C语言可以直接处理内存中的数据,因此C语言常被用来设计各种操作系统软件和底层的网络通信软件.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值