详解C语言初阶之函数
.main函数第一个函数是我们的main函数它无处不在main函数被称之为我们的入口函数程序在运行时从main函数进入从main函数出来main函数其实就是整个程序功能的集合所有的功能必须被包含在main里面才可以被运行预处理命令宏定义全局变量什么的当然要优先处理再次不讨论这些。我们看个例子吧上图中一个很简单的打印却发现main函数之外的打印出现了错误由此说明main的重要型。说白了函数就是一个个功能的集合内部也是一串串代码组成的程序是程序的基本单元又被叫作子程序我们将函数分为库函数和自定义函数再次我们主要了解自定义函数。2.自定义函数所谓自定义函数就是我们自己写的函数我们自己设置了他们的功能将他们进行封装在某些时候进行调用。如在这里我们把一个简单地加法运算进行了封装。只要在main函数里调用这个定义函数我们即可实现加法的功能。那么有人问了我们为什么非要写一个函数呢看起来就很麻烦直接写到main函数里不就行了吗2.1 函数的的封装和面向过程的思维实际上我们在应用中不可能写如此简单的小程序我们会写很长的代码比如我们在刚刚的程序中加上减法、除法、乘法、求余、求次方等等很多的功能如果我们全写在main函数里代码的可读性就会变得极差而且main函数不仅会变得十分冗长对于代码的调试和修改以及后期维护都难以进行。因此我们把所有功能都进行封装打包扔到我们自己的一个函数里每一个函数都有想对应的功能一般来说我们要尽量加大自定义函数的独立性方便函数的封装和后期维护如此一来我们就有了业务逻辑想要程序实现的功能如加法就在main函数里面调用Add和功能逻辑再对Add进行定义main函数就变得十分简洁明了只需要用到哪些功能时直接调用就行了我们将功能逻辑的功能称之为解耦。在编写代码时我们要首先知道我们想要实现什么功能在主函数里对某一个可以实现该功能的函数先进行调用等主函数完备后再讲我们封装的功能进行定义以配合我们的调用。我们把这种编程思维称之为面向过程即先明白要实现什么功能对象后还需要对每一个功能进行具体构建对象的构建而不是直接调用该功能比如我们要木材就必须要自己种木头浇花施肥然后再取用而不能直接去木材市场买我们需要过程。3.函数的组成函数需要有定义之后才能调用某些时候还需要声明我们先不谈声明函数的定义由四部分组成返回值也叫函数类型、函数名 、函数体 、形参函数的调用由三部分组成返回值、函数名、形参3.1函数的命名法为了增加可读性和减少维护成本我们通常把函数的命名方法定为见名知意将名字按照大驼峰法进行命名如加法及 Add,我的打印及 MyPrint函数名以英文单词或者英文单词的简写构成每个单词的第一个字母大写。3.2函数的返回值函数的返回值类型有int、char、double等各种类型具体看你需要的功能。如在刚刚的Add中我们需要Add函数返回x和y的和即返回一个整型便于函数值的接收因此我们需要在Add前面加int如此我们便可以用int ret来接收函数值。3.2.1void类型在各种函数的返回值中有一个奇怪却又常用的类型叫作void也就是空的意思其实它就是个占位子的啥都不返回我就站这儿告诉别人这里这个座有人了如图所示我们把printf放在了Add里面如此来我们就不需要接收Add的返回值来进行打印了这个函数本身就有了打印的功能因此我们把返回值也就是函数类型写为void也就是没有返回值。比如main函数也可以直接void main。补充1.通常情况下我们并不建议这么写因为我们需要函数功能的独立性减少多余的联系后面大家会慢慢理解2.main 函数建议以int作为返回值代码规范是一个优秀程序员的基本素养。特立独行并不会让你变得优秀优秀的代码是大多数人都能明白的代码3.既然返回值已经为空那我直接不写不行吗为什么还要写一个void呢注意函数默认是有返回值不写的话会进行强制返回强制类型转换为整型默认返回值为int有了void就不会有其他返回值类型来占座3.3形参与实参函数调用括号里的参数叫作实参函数定义括号里的参数叫作形参。实参就是试试在在的真是的数据就如同一张桌子你砸了它一角那这张桌子一角就真的没了。形参本质上是对实参的临时拷贝程序从主函数中运行到函数的调用时就会自动在主函数前寻找该函数的定义若发现定义就会发生形参实例化即将实参拷贝到形参里还是一张桌子发生形参实例化临时拷贝之后就变成了两张桌子现在你砸了第二张桌子那第一张桌子依旧完好无损。而不管第二张桌子是是否损伤只要出了它所在的代码块它就会被销毁掉而不能被其他函数继续使用所以我们称之为临时拷贝。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2568859.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!