目录
🍊前言
在本期专栏中,用前几期的文章对C语言大部分的知识进行了初步的讲解,主要的目的就是让大家可以尽可能能看懂代码。接下来的文章要开始对C语言知识的细致讲解了,诸位请带好小板凳就坐叭,正文要开始咯!
🍎1. 什么是函数呢
在数学中对函数概念的定义:设两个非空数集AB,如果按照某种确定的对应关系f,使得对于A中的任意一个数,在B中都有唯一确定的一个数f(x)与之对应,那么就称f:A → B是一个函数,。这是用对应关系描述的。停停停!!!这些基本是废话啦,大家肯定只是想知道在C语言中的函数。在百度上解释到: 函数是C语言的模块,一块块的,有较强的独立性,可以相互调用,也就是说,你可以在函数A中调用函数B,又可在函数B中调用函数C,不仅如此,你还可以调用函数自身(递归)。 函数是完成一个个特定任务的语句集合,它能完成你所想要的某种特定任务,当你要用时,只需要调用它即可,在后续的修改或是维护过程中,只需要针对这一个进行修改即可。
🍌2. 函数的类型
函数分为两种类型:1.库函数 2.自定义函数
🍉2.1 库函数
库函数顾名思义是库里面自带的函数,库函数的作用就是在一些非业务代码,但在敲代码过程中有频繁使用,比如打印,拷贝,输入这些基础功能我们会大量使用,为了提高编程的效率,所以C语言的基础库中提供了一系列的类似的库函数,方便程序员进行软件开发。我们频繁使用的printf,strcpy和scanf函数都是库函数,他们都是封装起来的。那怎么学习库函数呢,我们可以借助网站和工具,网站有:https://cplusplus.com/reference/ cppreference.com(c/c++的官网) 工具: MSDN软件。这里我们就用colusplus.com简单的学习一下叭
通过观察我们发现,使用strcpy函数需要引用头文件include <string.h>,它的第一个参数是目标数组,第二个参数是源数组。观察下面的话我们就知道了strcpy的作用就是将源指向的 C 字符串复制到目标指向的数组中,包括终止的 null 字符(并在该点停止)。
为避免溢出,目标指向的数组的大小应足够长,以包含与源相同的 C 字符串(包括终止空字符),并且不应在内存中与源重叠,再往下看还有例子可以加深理解。要注意一点:使用库函数一定要引用它的头文件。
🫐2.2 自定义函数
自定义函数顾名思义是自己定义的函数,它和库函数一样,有函数名,参数,返回类型,但不同的是这些都是我们自己设计的,这可以给程序员一个很大的操作空间。这里我们举一个例子来介绍自定义函数:
🍓3. 函数的参数
🥑3.1 实际参数
真实传给参数的叫实参,实参它可以是变量,常量,表达式,函数等,但是无论是哪种类型的参数,在进行函数调用的时候,它们都必须有确切的值传给形参。
🥕3.2 形式参数
形式参数是指函数名括号里的变量,因为形参只有在函数被调用之后才会被分配内存单元,所以叫做形式参数。形式参数在函数调用完之后就销毁了,因此形式参数只有在函数中才有效。这里我们可以通过代码来进一步了解它:
🍏4. 函数的调用
🍐4.1传值调用
函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参。
🍑4.2 传址调用
传址调用是把函数外部创建的变量的地址给传递到函数的参数的一种方式。这种传参的方式可以让函数和函数外边的变量建立起真正的联系起来。就是说函数内部可以远程操控函数外部的量。话不多说,上代码来观察观察它们的区别叭:
🍚总结
本期文章对于函数的介绍就到这里了,我们对函数是什么,函数的分类,怎么学习库函数,函数的参数和函数的调用进行的具体的讲解,其实函数的传址和传址这部分内容还是有一些理解的必要的。这波分享大家是不是感到口干舌燥,干货满满呀!嘿嘿,大家要注意多喝水哦,被忘了给个一键三连哦🦀🦀🦀