飞道的博客

这就是程序员眼中的函数吗?(一)

222人阅读  评论(0)

1. 函数是什么?

在我们过往的学习中,在数学上我们常见到函数的概念。但是你了解C语言中的函数吗?
在维基百科中对函数的定义:子程序

子程序是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。
一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被记成为软件库。


这就是一个简单求字符串长度的函数.

2. C语言中的函数分类

1. 库函数


在这里我们可以看看下面的网址,这是一个不错的查询各个库函数的工具.

简单总结,C语言常用的库函数都有:

IO函数
字符串操作函数
字符操作函数
内存操作函数
时间 / 日期操作函数
数字函数
其他库函数






这是我们从网址上简单提取的

这里我们简单运用一下这个库函数,记住每个库函数都是需要引用一个头文件我们也可以把它返回到ret中

其实 memset —就是设置内存


大家后面可以自己搜索其他库函数运用一下。

2. 自定义函数

但是不一样的是这些都是我们自己来设计,这给程序员一个很大的发挥空间。

要知道它是有返回类型,函数名,函数参数,函数体。

我们举个例子:
写一个函数可以找出两个整数中的最大值。
这个就不需要我说了吧
这样也可以,这里我们运用了三目操作符。

这里的两个void
一个是函数调用完后什么都不需要返回
另一个是这个函数没有参数,在调用的时候,不能传参。

再举个例子:
写一个函数可以交换两个整形变量的内容
这是一个不错的思路,但是我们是需要在函数里来进行交换
咦,为什么会出现这种情况呀?

这个地址都不对于
这是因为:当函数调用的时候,实参传递给形参,这时形参是实参的一份临时拷贝,对形参修改不影响实参。
其实就是创建的形参是独立的空间,而且地方都不对,无论你怎么修改,最后向我们表现出来的数都是不变的。
那我们该怎么优化呢?

那么我们还不如直接干指针,找到对于的地址修改。
看看这不就可以了

3. 函数的参数

1. 实际参数(实参)

列如这样,可以是常数,表达式,函数也可以。

2. 形式参数(形参)


就是临时的。

4. 函数的调用

1. 传值调用

函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。

2. 传址调用

这就是直接传地址了。

练习

俗话说光听不练啥也不会

1. 写一个函数可以判断一个数是不是素数



素数 它喵的,今年高考数学有个题就提到了。
除了1和本身,其他的整数都不能被整除的数就叫素数。
但是我们为什么要应用sqrt(开方)库函数呢?
回去问你初中老师去吧
这里要注意是<=

比如9 不包括3的话,就玩犊子了

三级标题


我连条件都写了,这叫啥,这是保姆级讲解。

这是正常操作

这个是学以至用,不错

看看这个优化的就不错,说明细节的重要性

乌云总会过去,当太阳出来的时候,你是否做好了准备?

守得云开见月明


转载:https://blog.csdn.net/m0_73920510/article/details/127928274
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场