C语言教程
+ -

C语言 函数

2019-09-09 18 0

函数是一起执行任务的一组语句,每个C程序都有至少一个函数,即 main(),所有最简单的程序都可以定义其他函数。

函数 declaration 告诉编译器函数的名称,返回类型和参数,函数定义提供函数的实际主体。

C标准库提供了程序可以调用的许多内置函数。如, strcat()可以连接两个字符串, memcpy()可以将一个内存位置复制到另一位置,还有更多函数。

定义函数

用C编程语言编写的函数定义的一般形式如下-

 return_type function_name( parameter list ) {
    body of the function
 }

C编程中的函数定义由函数头和函数主体组成,这是函数的所有部分-

  • return_type - 函数可以返回一个值。某些函数不返回值则使用关键字 void 。
  • function_name - 这是函数的名称。
  • parameter - 参数就像一个占位符。
  • body - 函数主体包含用于定义函数函数的语句的集合。

函数示例

下面给出的是名为 max()的函数的源代码,此函数采用两个参数num1和num2,并返回两个之间的最大值.

/* function returning the max between two numbers */
int max(int num1, int num2) {

   /* local variable declaration */
   int result;

   if (num1 > num2)
      result=num1;
   else
      result=num2;

   return result; 
}

函数声明

函数 declaration 告诉编译器有关函数名称以及如何调用该函数的信息,该函数的实际主体可以单独定义。

return_type function_name( parameter list );

对于上面定义的函数max(),函数声明如下:

int max(int num1, int num2);

参数名称在函数声明中并不重要,仅它们的类型是必需的,因此以下也是有效的声明-

int max(int, int);

在一个源文件中定义一个函数并在另一个文件中调用该函数时,需要函数声明,在这种情况下,应在调用函数的文件顶部声明该函数。

调用函数

创建C函数时,您需要定义函数的函数。要使用函数,您将必须调用该函数来执行定义的任务。

要调用一个函数,您只需要传递所需的参数以及函数名,如果函数返回一个值,则可以存储返回的值。如:

    #include <stdio.h>

    /* function declaration */
    int max(int num1, int num2);

    int main () {

       /* local variable definition */
       int a=100;
       int b=200;
       int ret;

       /* calling a function to get max value */
       ret=max(a, b);

       printf( "Max value is : %d\n", ret );

       return 0;
    }

    /* function returning the max between two numbers */
    int max(int num1, int num2) {

       /* local variable declaration */
       int result;

       if (num1 > num2)
          result=num1;
       else
          result=num2;

       return result; 
    }

我们保留了max()和main()并编译了源代码,在运行最终可执行文件时,它将产生以下输出-

Max value is : 200

函数参数

如果函数要使用参数,则它必须声明接受参数值的变量。这些变量称为函数的形式参数。

No. Call Type 描述
1 值传递 对函数内部参数的更改不会对参数产生影响.
2 引用传递 这意味着对参数所做的更改会影响参数.

默认情况下,C使用按值调用传递参数。通常,这意味着函数中的代码无法更改用于调用函数的参数。

0 篇笔记 写笔记

PHP 函数不定参数和默认参数
PHP作为一门弱化语言,支持c语言类似的不定参数和可选参数,只是格式书写格式不致,如:不定参数:使用函数fun_num_args()获取参数个数,使用fun_get_args()获取参数,指定索引则获取第内个参数,未指定索引指获取所有参数并生成数组返回。
XPath在要与XPath表达式一起使用的节点上定义以下运算符。序号Operator描述 1/用 于选择特定节点下的节点。 2//用 于从根节点选择节点 3[…]用 于检查节点值 4|用 于两个节点集的并集 XPath在要与XPath表达式一起使用的节点上定义以下功能。序号Ope......
函数是一起执行任务的一组语句,每个C程序都有至少一个函数,即 main(),所有最简单的程序都可以定义其他函数函数 declaration 告诉编译器函数的名称,返回类型和参数,函数定义提供函数的实际主体。C标准库提供了程序可以调用的许多内置函数。如, strcat()可以连接两个字符串, mem......
random() 方法返回随机生成的一个实数,它在[0,1)范围内。语法以下是 random() 方法的语法:import randomrandom.random()注 意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。参数无返回值返回随......
atan() 返回x的反正切弧度值。语法以下是 atan() 方法的语法:import mathmath.atan(x)注 意:atan()是不能直接访问的,需要导入 math 模块,然后通过 math 静态对象调用该方法。参数x — 一个数值。返回值返回x的反正切弧度值。实例以下展示了使用 ata......
degrees() 将弧度转换为角度。语法以下是 degrees() 方法的语法:import mathmath.degrees(x)注 意:degrees()是不能直接访问的,需要导入 math 模块,然后通过 math 静态对象调用该方法。参数x — 一个数值。返回值返回一个角度值。实例以下展示......
MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP。 在这些语言中,Mysql在PHP的web开发中是应用最广泛。在本教程中我们大部分实例都采用了 PHP 语言。如果你想了解 Mysql 在 PHP 中的应用,可以访问我们的 PHP教程。PHP提供了多种方式来访问和......
ios_event::eof()函数用于检查是否设置了eofbit。 当在与流相关联的序列达到文件结束时,通过所有标准输入操作来设置该标志。声明下面是eof()const函数的声明。bool eof() const;返回值如果设置流的eofbit错误状态标志(表示最后输入操作已经到达文件结束),则返......
如果要将一维数组作为参数传递给函数,则必须以下列三种方式之一声明函数形式参数,并且所有三种声明方法都会产生类似的结果,因为每个都告诉编译器接受一个整数指针。类似地,可以将多维数组作为形式参数传递。方式-1使用指针形式参数如下(在下一章学习指针的用法)。- (void) myFunction(int ......
max() 方法返回给定参数的最大值,参数可以为序列。语法以下是 max() 方法的语法:max( x, y, z, .... )参数x — 数值表达式。y — 数值表达式。z — 数值表达式。返回值返回给定参数的最大值。实例以下展示了使用 max() 方法的实例:#!/usr/bin/python......
PHP参数化函数是带有参数的函数。 您可以在函数中传递任意数量的参数。 这些传递的参数作为函数中的变量。它们在函数名称之后,在括号内指定。输出取决于作为参数传递到函数中的动态值。PHP参数化示例1 加减法在这个例子中,我们在两个函数add()和sub()中传递了两个参数$x和$y。 文件:para.......
str() 函数将对象转化为适于人阅读的形式。语法以下是 str() 方法的语法:class str(object='')参数object — 对象。返回值返回一个对象的string格式。实例以下展示了使用 str() 方法的实例:>>>s = 'rumen......
tuple 函数将列表转换为元组。。语法以下是 tuple 的语法:tuple( seq )参数seq — 要转换为元组的序列。返回值返回元组。实例以下展示了使用 tuple 的实例:>>>list1= ['Google', 'Taobao', &#......
函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。函数 声明告诉编译器函数的名......
程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会造成信息泄露,程序无法运行等情况。任何程序语言中,都需要错误处理。错误类型有:语法错误运行错误语法错误语法错误通常是由于对程序的组件(如运算符、表达式)使用......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!