返回顶部

C 函数的使用方法

[复制链接]
弃梦人Lv.1 显示全部楼层 发表于 2021-9-30 15:10:13 |阅读模式 打印 上一主题 下一主题
  函数是一组一起执行一个任务的语句。每个C程序都至少有一个函数,即主函数main(),所有简单的程序都可以定义其他额外的函数。

  您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。

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

  C标准库提供了大量的程序可以调用的内置函数。例如,函数strcat()用来连接两个字符串,函数memcpy()用来复制内存到另一个位置。

  函数还有很多叫法,比如方法、子例程或程序,等等。

(内容来源于公开网络,若涉及侵权联系尽快删除!)


  一、定义函数

  C语言中的函数定义的一般形式如下:
[C] 纯文本查看 复制代码
return_type function_name( parameter list )
{
   body of the function
}


  在C语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

  返回类型:一个函数可以返回一个值。return_type是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type是关键字void。

  函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。

  参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。

  函数主体:函数主体包含一组定义函数执行任务的语句。

  二、实例

  以下是max()函数的源代码。该函数有两个参数num1和num2,会返回这两个数中较大的那个数:

[C] 纯文本查看 复制代码
/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2) 
{
   /* 局部变量声明 */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}


  三、函数声明

  函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。

  函数声明包括以下几个部分:

[C] 纯文本查看 复制代码
return_type function_name( parameter list );


  针对上面定义的函数max(),以下是函数声明:

[C] 纯文本查看 复制代码
int max(int num1, int num2);
 

  在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:

[C] 纯文本查看 复制代码
int max(int, int);


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

  四、调用函数

  创建C函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。

  当程序调用函数时,程序控制权会转移给被调用的函数。被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序。

  调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。例如:

  实例
[C] 纯文本查看 复制代码
#include <stdio.h>
 
/* 函数声明 */
int max(int num1, int num2);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
   int ret;
 
   /* 调用函数来获取最大值 */
   ret = max(a, b);
 
   printf( "Max value is : %d\n", ret );
 
   return 0;
}
 
/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2) 
{
   /* 局部变量声明 */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}


  把max()函数和main()函数放一块,编译源代码。当运行最后的可执行文件时,会产生下列结果:
[C] 纯文本查看 复制代码
Max value is : 200





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • 微信公众号

  • Powered by Discuz! X3.4 | Copyright © 2002-2021, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图 | 京公网安备 11010802029508号