函数的复习知识总结
1、如果函数体写在main函数下方,则需要声明
2、函数的定义
void:返回值类型,如果没有返回值,则写void
hello:函数名,函数名命名遵循标识符的命名规则
标识由字母、数组、下划线组成
注意:首字符不能是数字
不能与关键字相同
():括号里面是参数,如果没有参数,则不需要写,注意,括号时不能省略的
return:返回值,具体返回的值,代表函数执行的结果,返回值的类型要与函数名左边的类型一致
3、函数的调用
注意:不要写返回值类型,如果没有参数,也得加括号
4、传参:参数传递,由于有些函内部缺少一些数据,此时需要从外部传入,称之为传参
函数名后面括号的参数称之为行参,形式参数,用来保存外部传入的数据
行参的参数名一定要与函数内部调用的一致
如:int m = 5, n = 6;
//m,n:实参,实际传入函数的参数值,将实参的数据赋值给行参,变量名之间没有根本联系
|
|
5、函数的参数传递
方法一:赋值传递:将实参的值传递给形参,形参的值发生改变,实参不受影响
原因:实参和形参的地址不同
方法二:地址传递:
& 取变量的地址
地址传递:地址传递,将实参的地址传递给函数,在函数内部对地址进行改变
6、指针注意:* 在定义指针的时候,只起到标识的作用,标识定义的是一个指针变量;除了定义指针变量,其余的所有地方都表示取地址里面的内容
如int p;//这个只起到标识的作用
7、指针变量本质还是一个变量,保存的是地址。
指针变量一般需要指向一个已经开辟好的空间
将变量a的地址赋值给指针变量
Printf(“a=%d %d\n”,*p);//取变量的值
Printf(“p=%p %p\n”,p,&a);//取地址
Printf(“&p=%p\n”,&p); //取地址
8、数组传递参数
int a[6];
直接传递数组 void fun(int a[],int n)
传递数组的首地址:void fun(int *a,int n);