C语言中函数的重点知识总结

目录

1:同一个工程只能有一个主函数

2:函数的传值,形参的改变不影响实参

只有调用函数时才会为函数开辟空间

3:函数参数的传递,什么时候传址什么时候传值?

 4:对指针变量解引用的理解

5:传值调用

6:传址调用

7:打印出1000到2000之间的闰年

 8:高内聚低耦合

9:二分查找:右下标:right     左下标:left

     mid是中间下标:mid = left + (right-left)/2  防止溢出

10:数组的传参

11:函数里面如果有return n++;

那么会是先返回n再加加

12:函数的地位都是相等的,函数可以嵌套调用,但是不可以嵌套定义。

13:

函数的链式访问


山无陵天地合都要点个赞

1:同一个工程只能有一个主函数

2:函数的传值,形参的改变不影响实参

只有调用函数时才会为函数开辟空间

C语言中函数的重点知识总结_第1张图片

先执行主函数,现在swap函数还未执行,所以sawp函数现在还是一堆代码

所以并未给swap函数开辟空间,当调用swap函数的时候,才会为函数开辟空间

现在a存在栈里,b存在栈里,调用函数后,为

C,d单独开辟空间,所以c存在栈里,d也存在

栈里,swap函数中的c  d与主函数里的a   b是相互独立 的所以改变swap函数里的变量的值对

主函数里的值没有影响

3:函数参数的传递,什么时候传址什么时候传值?

当要改变实参中的内容时,要传址

当单纯应用实参的内容而不改变实参内容时,就传值

 4:对指针变量解引用的理解

C语言中函数的重点知识总结_第2张图片

C语言中函数的重点知识总结_第3张图片

 形参C与D只不过是存的所对应的实参的地址

如果单纯的进行交换只不过是,只不过是把存的地址进行了交换,所以不会改变实参。对实参无丝毫影响

C语言中函数的重点知识总结_第4张图片

如果你用这种形式进行交换则会改变实参,*c,d的本质是:通过指针变量所存的地址,找到那个地址区域,并改变该空间内存的内容。 所以这个会直接改变实参,将形参与实参直接联系起来

5:传值调用

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

6:传址调用

传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式

这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以   直接操 作函

数外部的变量。

7:打印出1000到2000之间的闰年

C语言中函数的重点知识总结_第5张图片

注意:这里不可以用if() if()  else if ()写

因为第一个if如果进去了,就不会进入else if了

如果第一个if进去之后第二个if不满足,那么就不会继续

进入第二个else if了

然而。我们想要的是两个条件都要进去判断一下,只要有一个满足就可以。

所以可以使用两个if并列的形式

 8:高内聚低耦合

函数的功能实现的一定要足够的单一足够的简单(高内聚低耦合)

高内聚:功能是非常独立的,不依赖于别人

低耦合:尽量不要与别人有关系

C语言中函数的重点知识总结_第6张图片

这是判断闰年的函数,写的就很简单符合高内聚低耦合

传进来一个整数

是闰年就返回1,不是就返回0;没有其他复杂的功能

 

9:二分查找:右下标:right     左下标:left

     mid是中间下标:mid = left + (right-left)/2  防止溢出

10:数组的传参

C语言中函数的重点知识总结_第7张图片

 

11:函数里面如果有return n++;

那么会是先返回n再加加

12:函数的地位都是相等的,函数可以嵌套调用,但是不可以嵌套定义。

函数的地位是平等的,主函数只不过是程序的入口,别的与其他的没有什么不同

13:

函数的链式访问

C语言中函数的重点知识总结_第8张图片

printf函数是有返回值的,他的返回值是被打印的元素的个数

首先在屏幕上先打印43,之后打印2(43中元素的个数为2),之后再打印1(2中元素的个数为1)

 把每一件简单的事做好,就不简单了;把每一件平凡的事完成,就不平凡了!         与君共勉

希望您能动一下小手,帮忙点个赞,您的点赞和评论是我学习和创作的最大动力。

你可能感兴趣的:(C语言,c语言)