[我的C语言学习笔记(07)]函数

本文详细介绍了C语言中的函数,包括函数的定义、调用和声明。函数是C语言中实现模块化编程的重要手段,分为库函数和自定义函数。文章重点讨论了自定义函数,讲解了函数定义的语法、参数类型匹配以及传值调用和传址调用的概念。同时,还探讨了函数声明的重要性,特别是在跨文件调用和大型项目中的应用。
摘要由CSDN通过智能技术生成

本质上,函数是将一段代码进行封装,用以实现某种功能,从而达到模块化编程的效果。函数可以有外界传进来的参数,也可以有返回值。本质上,C语言就是一个个函数相互调用,从而实现复杂的功能。
在C语言中,函数分为库函数自定义函数。库函数定义在系统库中,并在头文件中声明,使用时需要包含头文件,如之前使用过的 printf 函数和 scanf 函数。库函数数量多,功能强,可以用工具查询,如 cplusplus.com 、cppreference.com 、MSDN 等。主要分为以下几类:IO函数、字符串操作函数、字符操作函数、内存操作函数、时间日期函数、数学函数等。
自定义函数则是程序员自己编写的函数。本篇主要讲自定义函数。

定义

即把代码封装成函数的过程,交代函数的实现。在C语言中,函数的定义方法为:
returnType functionName(para1, …)
{
satement;
}
函数的定义必须在所有函数之外,不可在其他函数内嵌套定义。
函数定义中的参数叫做形式参数,也称形参,在调用时传给函数的参数叫做实际参数,也称实参。在函数中使用return语句来返回值。下面是一个函数的定义实例:

int sum(int a, int b)
{
   
	return a + b;
}

调用

在主函数或其他函数中使用函数被称为对该函数的调用。在调用时,要将实参传递给形参,并且可以用变量接收返回值。在函数调用传参时,应注意以下几点:

  1. 形参变量只有在函数被调用时才会分配内存,调用结束后,立刻释放内存,所以形参变量只有在函数内部有效,不能在函数外部使用。
  2. 实参可以是常量、变量、表达式、函数等,必须有确定的值,以便把这些值传送给形参,所以应该提前用赋值、输入等办法使实参获得确定值。
  3. 实参和形参在数量上、类型上、顺序上必须严格一致,否则会发生“类型不匹配”的错误。当然,如果能够进行自动类型转换,或者进行了强制类型转换,那么实参类型也可以不同于形参类型。
  4. 函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向地传递给实参;换句话说,一旦完成数据的传递,实参和形参就再也没有瓜葛了,所以,在函数调用过程中,形参的值发生改变并不会影响实参。
  5. 形参和实参虽然可以同名,但它们之间是相互独立的,互不影响,因为实参在函数外部有效,而形参在函数内部有效。可以理解为,形参的作用域在于函数内部,实参的作用域在于其所在的代码块。

函数的调用有两种方式:传值调用和传址调用。传值调用仅仅将函数外的数据传到函数内部,正如前面所说,形参的改变不会影响实参的数据,如:

void swap(int a, int b){
   
	int temp 
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值