当程序简单的时候,一个人可以用一个main函数搞定功能。当程序变成的时候,超出了人的大脑承受范围,这个时候就需要把一个大程序分许多小的模块来组织,于是乎出现了概念叫 函数。
        函数是c语言代码基本组成部分,它是一个小的模块,整个程序是由很多个功能独立的模块(函数)组成。这就是程序设计的基本分化方法。
        main:C语言中所谓的主函数,主函数就是一种特别的函数。特别之处在于,一个C语言程序只能有一个且必须有一个main函数。c语言有规定,一个c语言从主函数开始执行,到主函数执行完结束。
        在c语言中写代码时可以引用库函数,但是必须使用 # include 引用这个库函数所在的头文件。
  • 使用函数写程序时的关键步骤
    * 函数定义*:函数定义是关键,是这个函数的实现。函数定义中包含了函数体,函数体中的代码段决定了这个函数的功能。函数定义后边没有;但是有{}和函数体。
    函数声明**:函数声明后边必须有;函数声明实际上叫函数原型声明。什么叫原型?函数的原型包括三部分:函数名,函数返回值,函数参数列表。
    函数声明的作用,在于告诉使用函数的人,这个函数使用时应该传递给他一个什么样的参数,他会返回什么样类型的返回值。这些东西都是些函数的人在函数定义中规定好的。如果使用函数的人不参照这个原型来使用,就会出错,结果就会跟你想的不一样。
    * 函数调用:函数调用就是使用函数名来调用函数完成功能。调用时必须参照原型给函数传参,然后从函数得到适当的返回值作为结果。

函数的参数:
1、形参:形式参数的简称。在函数定义和函数声明中的参数列表中的参数,都是形参。
2、实参:实际参数的简称。函数调用中,实际传递的参数才是实参。
函数调用的过程,其实就是实参传递给形参的过程。这个传递实际上是一次拷贝。实参(本质是一个变量)本身并没有进入到函数内,而是把自己的值复制了一份传给了函数中的形参,在函数中参与运算。这种传参方法,就叫做传值调用。
注意:
形参的类型必须和实参类型相同。否则就可能会出错。

函数名命名
第一点:起名字的时候不能随意,要遵守规则。这个规则有两个层次:第一层就是合法,第二层就是合理。合法就是符号c语言中变量名的命名规则。合理就是说变量名气的好,人一看就知道什么意思,一看就知道这个函数是干什么的,而且优美、好记。
第二点:c语言中,所有的符号都区分大小写的。也就是说abc和ABC都是不同的符号。
第三点:c语言函数名变量名的命名习惯。这个没有固定的结论,有多种使用都很广泛的命名方式。
一种是linux的命名习惯 student_age str_to_int
一种是骆驼命名方法 studentAge StrToInt

  • 返回值 return()
    当函数执行完之后,会给调用该函数的地方返回一个值。这个值类型就是函数声明中返回值类型,这个值就是函数体中最后一句return XXX;返回的那个值。