为什么要使用函数?
大的方向来说,使用函数可以提高代码的复用性、维护性,还可迭代开发。
简洁的来说,使用函数看起来有结构性。
函数的三要素: 函数名、 形参、 返回值。
1):函数名:要有自注释性,让人能够看名知其意,这样才具有可读性。
***其次函数名同 数组名一样,都是指针常量。
作用: 保存函数存放的地址,即函数入口地址。
(a):通过函数名找到函数的入口地址。
(b):给形参分配内存空间。
(c):传值:把实参变量对应空间的值传递给形参。
(d):执行函数体里的语句。
(e):函数返回并释放内存空间。
**如何确定传参时是传值还是传地址:
(1):读(不修改)实参变量对应的内存空间的值时,传实参变量名。
(2):写(修改)实参变量对应的内存空间的值时,传实参变量的地址。
主函数参数:也叫命令行参数。
如: int main(int argc, int *argv[ ])
**返回值:不能返回局部变量的地址。
主函数中 return 0 的作用:
告诉系统你的程序什么时候退出。
而exit()结束一个程序,返回给用户。
echo $? 返回当前程序的返回值。(给用户看)
即当一个程序有许多exit(1,..5)时,可以判断是哪个exit结束的程序。
(以上所说的都是在Linux系统下的)
函数指针:
C语言是面向结构的语言,但是由于函数指针的存在,它也体现了面向对象的多态
作用。
定义:int (* p_func)(int, int)
Int cal(int (* p_func)(int, int), int a, int b)
称为回调函数。
回调函数: 对指针的应用是c语言编程的精髓所在,而回调函数就是c语言里面对
函数指针的高级应用,简而言之,回调函数就是一个通过函数指针调用
的函数,如果你把函数指针(函数的入口地址)传递给另一个函数,当这个
函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。