前言(函数的概念)
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。且每个函数执行一个特定的任务来进行的。
一、函数的分类
.一般常见的函数有两种:
1.库函数 //可以直接调用
2.自定义函数 //根据需要自己设计
二、函数的一般格式
int sup(形式参数)
{
}
//int 是函数返回类型
sup 是函数名(可以自己设计)
()括号里的是形式参数
{} 里的是函数体
示例:
// void 表示这个函数不返回任何值
//void 表示这个函数不需要任何参数
// return 后面可以什么都没有,适合函数返回类型是void的情况。
三、实际参数和形式参数
- 实参
实际参数简称“实参”。
在调用有参函数时,函数名后面括号中的参数称为“实参”,是我们真实传给函数的参数,实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。
#include <stdio.h>
int rov (int x,int y)
{
return x+y;
}
int main()
{
int a =10;
int b = 20:
int rov=add(10,20);
printf(“%d\n”,ret4);
return 0;
}
//真实传递给函数的参数是实参。
//
2.形参
形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的 过程中才实例化(分配内存单元),所以叫形式参数。
对于 int rov ( int x, int y) 来说,int x,int y 就是形参。
//形参是实参的临时拷贝
//形参和实参是不同的内存空间,对形参的改动不会对实参有影响。
四、函数的传参
1.数组传参
set_arr(int arr[], int so)
{
int i = 0;
for (i = 0; i < so; i++)
{
arr[i] = -1;
}
}
print_arr(int arr[], int so)
{
int i = 0;
for (i = 0; i < so; i++)
{
printf(“%d “, arr[i]);
}
printf(”\n”);
}
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr);
print_arr(arr, sz);
set_arr(arr, sz);
print_arr(arr, sz);
return 0;
}
//特别注意:
1.函数的形式参数和实参个数要匹配。
2.函数的实参是数组,形参也可以写成数组形式的。
3.形参和实参的数组是同一个数组。
4.数组传参,形参不会创建新数组。
5.在数组传参中,对形参的改动也会对实参造成影响。
五、函数的声明
1.在使用函数时,要特别注意。函数定义在使用之后,使用之前没有声明时,编译器编译时识别不了该函数。
2.因为编程器在运行代码时,是从上到下的顺序。如果不先进行函数的声明,则无法正常进行函数的执行。函数必须保证先声明后使用。
//函数定义在使用之后,使用之前没有声明时,编译器编译时识别不了该函数。
总结
如果以上内容对大家学习有所帮助,希望大家可以点赞支持。
祝大家学业顺利!