C语言——函数篇(一)

函数是C语言的一个重要组成部分,接下来介绍一下函数


函数可以看作一个个模块,直接的实现某个功能的部件。就像一个清洁系统一样,扫地,擦桌子,洗碗。一个功能是一个模块,也是一个实现功能的函数。

在C语言中将常用的功能进行了封装,封装成立一个个函数来提供给大家使用。

函数的种类

函数分为库函数和自定义函数。

库函数

库函数:由C语言直接封装好,无需用户操作,只需要调用的函数。但封装只是将很常用的函数和那些使用平率很高的函数进行了封装。如scanf、printf这写很常用的函数而使用频率很高的功能进行了封装。

值得注意的是——C语言并不直接实现库函数而是提供了C语言的标准和库函数的约定并不去主动实现。如:scanf 我们经常需要输入就规定scanf是输入,规定了函数的功能,函数名和返回值。

库函数的实现并不是直接由C语言来实现的,而是由编译器来实现的。如linux的gcc编译器,windows的VS编译器来实现。他们的实现代码可能不同,但是大同小异,在结果上体现相同,如scanf都是输入的功能。

对于库函数的学习可以参考一下下面的网站或者MSDN这个网站

www.cplusplus.com

注!!!在使用库函数的时候必须使用include来包含对饮的头文件

自定义函数

有封装好功能的库函数那么就有自己实现的自定义函数,自定义函数由程序员的功能由程序员自定义来实现。

为什么会出现库函数呢?

功能由各种各样的,无数个,不可能封装所有的功能成为库函数,也不可能所有的封装都是最适合程序的,称心如意。所以有了自定义函数。

自定义函数和库函数一样,由函数名,返回值,函数参数,函数体。但不同的是这些都由我们自己来设计,这些都由我们自己来实现

这就是最简单的一个自定义函数,实现输入两个数相加。

函数如果函数名前没有类型那么默认按int类型来算 。其中函数参数中的形参,可以没有变量,但是必须有类型。

函数的调用以及实现

 函数的参数

函数的参数分为形参和实参,这两个看起来一字之差其实有很大的差距

实参——真实传递的参数。实参可以是:常量、变量、表达式、函数本身。实参无论何总类型在调用的时候都有了明确的值,以便将值传递给形参。

形参——函数名后面的变量。形参只有在被调用的时候才会实例化(分配内存)。调用完成之后销毁。

函数的调用

函数的调用分两种情况,传值调用和传(地址)址调用

传值调用

相当于对传递的拷贝,复制。生成一份一模一样的。并不影响传递前的变量。

传值调用

传递的是该变量在内存中的地址。就像一个箱子里可以放不同的东西,但是无论东西怎么变,箱子不会发生百变。传址调用就相当于把本来的箱子给了过去,而不是重新复制了一个箱子。改变箱子里面的东西,直接对地址进行操作。

这个例子可以清晰的看到这两种调用方法的不同,所产生的结果也不同。传值和传址的本质区别是一个相当于拷贝一份在备份上操作,一个就在原来的内存中操作。 

传值和传址各有不同的使用场景,有些场景适合传值,有些场景适合传值。各有不同的用途。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值