形式参数:定义函数时函数名后面括号中的变量名。
实际参数:调用函数时函数名后面括号中的参数,实际参数可以是常量、变量或表达式。
传递参数是值的传递,形参和实参值相同,但是空间地址不同。
#include <stdio.h>
int getData(int a) //创建函数getData获取数值功能
{
printf("形式参数a的内存地址是:%p,值为%d\n",&a,a);//打印形式参数地址
return 0;
}
int main(){
int a;
int x;
puts("请输入一个数:");
scanf("%d",&a); //获取数值
x= getData(a); //调用函数
printf("a的内存地址是:%p,值为%d\n",&a,a);//打印实际参数地址
return 0;
}
先创建getData函数,以A为整型形式参数;主函数输入一个数值,作为实际参数调用函数,最后输出各自参数的内存地址,输出结果为:
形式参数a的内存地址为:000000000061FDF0
实际参数a的内存地址为:000000000061FE18
说明两值的值虽然相同,但内存地址并不相同。
形式参数生命周期:函数在调用之前是不会给形式参数内存空间的,只有当函数被调用时形式参数才会被分配内存单元,调用结束又被系统释放空间
局部变量:变量作用的范围有局限,或者说变量的作用范围是局部的。例如高一有叫张三的,高二也有叫张三的,但是高一班点名时,高二的张三不用喊“到”。形式参数只作用于定义函数内,实际函数作用于主函数内。
三目运算法:
z = x>y?x:y;
判断x是否大于y,若成立z赋x的值,若不成立则z赋y的值。