您现在的位置是:主页 > news > 千岛湖建设集团办公网站/拍照搜索百度识图
千岛湖建设集团办公网站/拍照搜索百度识图
admin2025/5/23 14:03:39【news】
简介千岛湖建设集团办公网站,拍照搜索百度识图,南京网站建设 小程序,广西建设厅建管处网站函数基本概念 每个c程序都至少有一个函数,即主函数 main() 对于简单任务程序而言,全部的代码都写在main()函数中 对于实际开发,程序任务复杂多样 如果全写在main()函数中,就会变得庞大臃肿,结构复杂,造成有…
函数基本概念
每个c程序都至少有一个函数,即主函数 main()
对于简单任务程序而言,全部的代码都写在main()函数中
对于实际开发,程序任务复杂多样
如果全写在main()函数中,就会变得庞大臃肿,结构复杂,造成有很多不必要的重复
由此根据程序的逻辑和任务的分工把代码写到不同的自定义函数中
而业务逻辑和处理流程化分到main()
需要执行具体任务再调用自定义函数
函数类型对比
库函数
C语言或系统提供(自带)
实现某些基本的功能,例如scanf、printf,可在程序中直接调用
需包含相对应头文件
自定义函数
程序员为了完成某项任务而编写的函数
实现某项功能或让主程序更简洁
使用自定义函数之前,必须先声明和定义
库函数
C语言提供了一些已声明和定义的函数
调用这些函数可以完成一些基本的功能
我们把这些函数称为C 标准函数(C standard library),简称库函数
例如printf、scanf、memset、strcpy等
栗子
strcpy(复制)
提个问题:为什么复制成了完全替换,而不是仅替换对应的空间长度的内容?
首先我们得明白在arr2“hello”的结尾后面是结束标志“\0”
他仅是结束标志不作为内容,但复制的同时也将它带上了
效果就是目标空间的“hello”后有个“\0”代表结束
后面的内容不会被读出,也就相当于“完全替换”
memset(内容指定)
注意:使用库函数必须包含相应的#include头文件
自定义函数
自定义函数和库函数都具有函数名称,返回值类型,函数参数
库函数无法干所有的事,需要程序员来发挥
调用
如果函数的返回值是void,表示函数以完成某项功能为主,一般用单行书写,独占一条语句
返回值不是void,单行书写则不关心它的返回值,也可以当成常量用于任何表达式中
参数的传递
函数的参数可以理解为函数的局部变量
传值
参数传递就是调用者程序把变量(或常量)的值复制一份给函数的参数
复制后调用者程序的变量和函数的参数就再也没有关系
所以在函数调用的过程中,函数的参数的值发生改变并不会影响调用者程序的变量的值
注:因为没有关系,形式参数与实际参数可重名
传址
任务有改变修改实际参数的必要,进行传址
告诉函数参数的空间地址,可直接对地址指向的对象进行有效改变
栗子
返回最大值函数
这个函数具有返回值:x>y成立的话,那么就返回x,否则就返回y。
接下来我们看看里一个形式的返回最大值
为什么不行呢?
注意函数内的x,y只是形势参数,它的改变不能影响到实际参数。
解决方案
这里我们是通过取地址,带入参数的地址,再解引用来改变参数内容
局别
其实用好传值和传址调用这个精髓,对函数的使用便会简单许多