碎片时间掌握C语言(十五)——函数的调用

createh54周前 (12-05)技术教程28


上一节介绍了函数的概念和定义方式。我们知道了存在两类函数:库函数和自定义函数。其中库函数是系统声明和定义的,比如scanf、printf函数,他们是现成的工具。自定义函数是程序员自己声明和定义的,是程序员补充的工具,本质上都是一样的,存在的意义在于它们能够完成某种任务。

问题来了,那么,如何使用这些工具呢?

在C语言中,一个较大的程序往往需要由一个主函数和若干个函数构成由主函数调用其他函数。其他函数之间也可以相互调用。此外,同一个函数可以被其他函数调用任意多次。

值得注意的是:在c语言中,函数的调用十分灵活。原因在于它可以独占一行语句,也可以当成常量赋值给变量,也可以当做函数的参数。比如:

如果函数的返回类型是void:则表示该函数的任务是以完成某个功能为主,一般用单行书写,独占一条语句。

如果是其他类型:若单行书写,则表示不关心它的返回值,也可以当成常量用于任何表达式中,用于赋值或是参数传递均可。

举例:自定义一个功能函数,并被main函数调用

void great(int n){

for (int i = 0;i < n;i++)

printf("666");

}

int main(){

great(3);

return 0;

}

程序从主函数进入,首先执行great(3)。该函数是自定义函数,而且需要传递参数。我们在这里传递的是“3”,称之为实际参数,即实参。而自定义中的great函数,它圆括号()里面的参数称之为形参。这个函数的功能是输出实参次“666”。实参一般由用户提供。

这种将实际参数传递给被调函数的形式参数的过程,叫做参数传递

相关文章

java中对lambda进行反射

在java中如何对一个函数式调用解析出原有的调用结构例如有如下类的定义 @Data public class City { public int cityId;...

Java 到底是值传递还是引用传递?

作者:Hollis关于这个问题,引发过很多广泛的讨论,看来很多程序员对于这个问题的理解都不尽相同,甚至很多人理解的是错误的。还有的人可能知道Java中的参数传递是值传递,但是说不出来为什么。在开始深入...

java函数的返回值(二)

哈喽大家好,接下来来学习函数的返回值。函数是被设计为特定任务的代码块,在执行完特殊任务之后需要把任务的结果返回给我们。在上一个视频封装求和函数的时候,计算后的结果处理方式是在函数内部处理。但是如果只在...

C++构造函数,如何手动调用构造函数?总结 linux C++第34讲

手动调用构造函数C++的类构造函数,是在定义类对象的时候,自动调用。但是,某些情况下,我们可以手动调用类的构造函数。先来看看下面的测试例子:可以看到,在定义类对象数组的时候,对类对象数组初始化,如下:...