孙Cloud的C语言学习博客-6-函数1.0

写博客的第八天,今天开始进行C语言函数部分的学习,函数学习1.0,函数递归下个博客再补充

  • 函数就是一个由一个或多个语句块组成的在大型程序中的某部分代码,它相比与其他代码,具备相对的独立性,函数共分为两种,库函数和自定义函数,库函数是C语言本身就存在的供程序员使用的函数,程序员们可以自行随意调用,只需要在引用时写好头文件就可以,而自定义函数是程序员自己创建的函数,头文件,函数体,返回类型,函数名,函数参数,都由程序创建者自己创建即为自定义函数。

  • 库函数
    C语言常用的库函数有{IO函数,字符串操作函数,字符操作函数,内存操作函数,时间/日期操作函数,数学函数,其他库函数}
    在库函数的学习中,拥有读文档能力,是学习库函数十分重要的一点,同样英文阅读能力在读文档中也是相当重要的一点,因为一般库函数的文档都是英文书写,一些翻译,翻译的也并不是十分到位,在视频课中,老师给我们推荐了很多关于库函数文档的网站,(www.cplusplus.com MSDN http://zh/en.cppreference.com);

  • 自定义函数
    自定义函数的组成有 ret_type fun_name (paral *) { statement;//语句项 } -> 函数体
    ret_type 返回类型为你需要函数最终给你返回什么类型,你就设置什么类型,如果你想让他无返回值,你就可以使用void来充当返回类型
    fun_name 函数名,函数名由你自己创建,但创建时要养成好的习惯,不要瞎写,必要时使用百度翻译。
    paral * 参数类型不需要你给他赋值。

  • 关于函数参数
    实际参数(实参):真实传给函数的参数就是实参
    形式参数(形参):指函数中函数名后括号中的变量(在函数被调用时实例化,后自行销毁)
    调用分为
    传值调用:直接将实参中值传给形参(形参的值只是实参的一份临时拷贝,)实参和形参拥有不同的内存块,当形参改变时,不会影响实参。
    传址调用:一般在调用函数时其中的变量用指针来传递,如&a,int* pa,*pa,这方法可以让函数与函数外边的变量建立起联系。

  • 两个小练习
    1.用函数实现二分查找:(和正常二分法没什么区别,需要注意的是,当传给函数数组参数时,然后用sizeof在函数中想找出数组长度时,这是不可能的,数组参数传到函数中时,传递的并不是整个数组而只是数组首元素的地址而已)
    2.写一个函数,没吊用一次这个函数,num值+1:(当函数内部想改变函数外部时,需要使用指针)
    eg:int main(){Add(&num)}
    void Add (int* p)
    { (*p)++; }

  • 函数的嵌套调用与链式访问(函数之间是可以随意进行有机的组合的)
    嵌套:void num ( ) ; { } void num2 ( ) { num() ; } ;
    链式访问:printf("%d,printf("%d,printf("%d,43))); 结果:4321 利用文档查询 printf 返回的是数字个数。

  • 函数的声明和定义
    声明:告诉编译器一个函数叫什么,参数是什么,返回类型是什么,一般要满足先声明再使用,声明一般放在头文件中。
    定义:指函数的具体实现,功能实现。
    (在正真做项目时,声明和定义是十分重要的)
    在add.h 头文件中声明 int Add (int,int)
    在add.c 中放入 int main() >>>在主函数调用自己的头文件用 include“add.h”
    在text.c中放入被调入的函数

  • 孙浩小笔记
    1.\0是所有字符串结束标志
    2.strcpy(arr1,arr2);字符串拷贝(由arr2拷贝到arr1)
    3.&a,int* pa,*pa指针

猜你喜欢

转载自blog.csdn.net/weixin_44719191/article/details/108027089
今日推荐