美文网首页
C语言特性(函数)

C语言特性(函数)

作者: JackLu经纬 | 来源:发表于2015-12-22 15:16 被阅读0次

    函数

    定义函数

    语法格式如下:
    函数返回值类型 函数名(形参列表){
        //由零条到多条可执行性语言组成的函数
    }
    

    函数声明

    在如下两种情况下,函数需要先声明,再调用
    1.函数定义处于调用的函数后面。
    2.函数定义在另一个源文件中。
    函数声明有两种形式
    1.只声明函数的返回值类型、函数名、形参列表的形参类型,不保留形参名。
    2.声明函数的返回值类型、函数名、完整的形参列表,包括形参名。
    ```
    ##函数的参数传递机制
    ```
        Objective-C里函数的参数传递方式只有一种:值传递。所谓值传递,就是将实际参数值的副本(复制品)传
    入函数内,而参数本身不会受到任何影响。
    ```
    ##递归函数
    ```
    定义:一个函数体内调用它自身时,被称之为函数递归。函数递归包含一种隐式循环,它会重复执行某段代码,但
    这种重复执行无须循环控制。
    例:
    int fn(int fn){
      if (n == 0){
        return 1;  
      }else if(n == 1){
        return 4;
      }else{
        //函数中调用它自身,就是函数递归
        return 2 * fn(n - 1) + fn(n - 2);
      }
    }
        函数递归是非常有用的,例如希望遍历某个路径下得所有文件,但这个路径下文件夹的深度是未知的,那么就
    可以使用递归来实现这个需求。
    ```
    ##数组作为函数参数
    ```
    除了使用数组元素作为参数外,C语言也允许将数组变量(本质上就是一个指针)传入函数,当使用数组变量本身作
    为参数时,有如下几点需要注意。
    1.声明函数时必须指定数组类型的形参,此时数组类型的形参既可指定长度,也可不指定长度。如果声明函数时形
    参是多维数组,则只有最左边的维数可以省略。
    2.当数组作为函数的形参时,声明函数的形参类型与调用函数时传入的实参类型必须保持一致。
    注:与传入普通变量不同的是,传入数组变量作为参数的实质就是传入一个指针——该指针指向数组的首地址,因此
    函数中改变数组元素会对数组本身有影响。
    ```
    ##内部函数与外部函数
    ```
        函数本质上是全局性的,因为一个函数总可以被其他函数所调用,但根据函数是否可以被其他源文件所调用,
    可以将函数分为内部函数和外部函数。
        内部函数:定义函数时使用static修饰,该函数只能被当前源文件中的其他函数所调用,这种函数被称之为
    内部函数。
        外部函数:定义函数时使用extern修饰,或者不使用任何修饰符。它可以被任何源文件中的函数调用,这种
    函数被称之为外部函数。
    ```

    相关文章

      网友评论

          本文标题:C语言特性(函数)

          本文链接:https://www.haomeiwen.com/subject/onmmhttx.html