C语言学习笔记—函数

前言

  •  函数是完成特定任务的独立程序代码单元。C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
  • 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给我们。

函数的原型和调用

  •  无参数函数的定义:

  1. 如果函数不接收用户传递的数据,那么定义时可以不带参数。形式如下:
    return_type function_name( )
    {
       body of the function
    }
  2. return_type是返回值类型,它可以是C语言中的任意数据类型;function_name是函数名,它是标识符的一种,命名规则和标识符相同,函数名后面的括号()不能少;body of the function是函数体,它是函数需要执行的代码,是函数的主体部分,即使只有一个语句,函数体也要由{}包围;如果有返回值,在函数体中使用 return 语句返回。return 出来的数据的类型要和return_type一样。如:
    void hello_demo()
    {
        printf ("Hello World! \n");
        //没有返回值就不需要 return 语句
    }
    
    double circle_demo()
    {
        int  r = 1;
        double cir = 2*3.14*r;
        return cir;
    }
  • 有参数函数的定义:

  1. 如果函数需要接收用户传递的数据,那么定义时就要带上参数。形式如下:
    return_type  function_name( dataType1 param1, dataType2 param2 ... )
    {
        body of the function
    }
  2. dataType1 param1,dataType2 param2...参数列表。函数可以只有一个参数,也可以有多个,多个参数之间由‘,’分隔。参数本质上也是变量,定义时要指明类型和名称。
  3. 数据通过参数传递到函数内部进行处理,处理完成以后再通过返回值告知函数外部。如:
    double circle_demo(double r)
    {
        double cir = 2*3.14*r;
        return cir;
    }
  4. 注意:C语言不允许函数嵌套定义;也就是说,不能在一个函数中定义另外一个函数,必须在所有函数之外定义另外一个函数。main() 也是一个函数定义,也不能在 main() 函数内部定义新函数。
  • 函数的声明:

  1. 注意:C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明。
  2. 注意:当在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,应该在调用函数的文件顶部声明函数。
  3. 函数声明会告诉编译器函数名称及如何调用函数。形式如下:
    return_type function_name(dataType1 param1, dataType2 param2 ... );
  4. 在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:
    return_type function_name(dataType1, dataType2 ... );
  5. 当声明某个函数,其参数是长度可变数组(variable-length array),除了在函数定义的头部,其他地方都可以使用星号(*)来表示数组长度。如果使用非常量的整数表达式来定义数组长度,编译器会将它视为星号。如下:
    double maximum( int nrows, int ncols, double matrix[nrows][ncols] );
    double maximum( int nrows, int ncols, double matrix[ ][ncols] );
    double maximum( int nrows, int ncols, double matrix[*][*] );
    double maximum( int nrows, int ncols, double matrix[ ][*] );
  • 函数的调用:

  1. 所谓函数调用(Function Call),就是使用已经定义好的函数。一般形式如下:
    function_name(param1, param2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值