C语言基础-3、函数的参数和变量
一、函数原型
1、函数先后关系
- ex1:
#include <stdio.h>
// 像这样把Max()函数写在上面,是因为:C的编译器自上而下顺序分析你的代码
int Max(int a,int b)
{
int ret;
if(a>=b){
ret = a;
}
else
{
ret = b;
}
return ret;
}
int main()
{
int max;
max = Max(1,2);
printf("%d",max);
return 0;
}
- ex2:
#include <stdio.h>
int Max(int a,int b); //提前声明函数原型
int main()
{
int max;
max = Max(1,2);
printf("%d",max);
return 0;
}
int Max(int a,int b)
{
int ret;
if(a>=b){
ret = a;
}
else
{
ret = b;
}
return ret;
}
二、函数传递
- 如果函数有参数,调用函数时必须传递给它数量、类型正确的值
- 可以传递给函数的值时表达式的结果,这包括:
- 字面量、变量、函数的返回值、计算的结果
- 每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他的函数没有关系
- 对于函数参数表中的参数,叫做“形式参数”,调用函数时给的值,叫做“实际参数”
三、本地变量
- 函数的每次运行,就会产生一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量
- 定义在函数内部的变量就是本地变量
- 参数也是本地变量
1、变量的生存期和作用域 - 生存期:什么时候这个变量开始出现了,到什么时候它消亡了
- 作用域:在代码的什么范围内可以访问这个变量
- 当程序运行离开了某个代码块时,这个代码块的变量就会销毁,但是在块外面的变量还是存在的
- 如果块里面定义了和外面同名的变量,在掩盖了外面的
- 本地变量不会被默认初始化
- 参数在进入函数的时候被初始化了
浙公网安备 33010602011771号