函数的定义:
返回值类型 函数名(参数)
{
函数体
}
例如:a+b
int sum(int a, int b)
{
return a+b;
}
如果函数在主函数前面可以不用声明,在主函数后面需要声明
int sum(int a,int b); //只用声明,不用实现
参数的传递
全局变量:在函数外面定义的变量
实参: 全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。
形参:形参是函数被调用时用于接收实参值的变量。
形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
1、值传递(传值)
上面的函数就是值传递,在 sum函数的调用过程中,函数的实参的值分别传递给形参a,b。没有对原来的实参进行操作,实参的值不变。
2、址传递(传址)
#include<stdio.h>
int sum(int* a,int* b);
int main()
{
int x = 5, y = 3;
sum(&x,&y); //取x,y的地址
}
int sum(int* a,int* b)//创建指针存x,y的地址
{
int sum1 = 0;
sum1 = *a + *b;
}
数据是以地址的形式存放。需要定义一个容器存放数据的地址,称为指针。
* 解引用 相当于取出地址里的值。