欢迎访问个人博客http://www.jkraise.top
03-【掌握】无参数无返回值函数的定义、调用
void 函数名(){
要实现的功能的 代码
}
04-【掌握】有参数无返回值函数的定义、调用
void 函数名(int num){
}
void 函数名(){
执行代码块
}
void 函数名(int num, int num2, short num3, char num4){
执行的代码块
}
调用函数
short num=10;
char num1='A';
函数名(11,22+234234,num,num1);
06-【掌握】无参数有返回值的函数定义、调用
int 函数名(){
}
07-【掌握】有参数有返回值的函数定义、调用
int 函数名(定义了一些变量----形参){
return 数值;
}
====================================================================================
今日总结
-
关于函数的定义的目的:就是为了让程序更加模块化,所谓的模块化是指:让程序 的各个独立的功能 都各自占用一个函数来实现
-
当自己定义函数的时候,要考虑 函数的名字/函数的参数以及类型/函数的返回值
-
在一个 c 语言文件中,不能出现相同名字的函数
-
如果 A 函数调用了 B 函数,那么就称 A 函数为主调函数, B 函数为被调函数
-
如果 A 函数调用了 B 函数, B 函数调用了 C 函数,那么这种方式就称 函数的嵌套调用
-
如果在定义函数的时候,函数的名字前面 为 int 表示的是函数的返回值类型为 int
同理,如果是 float, 那么就表示 函数的返回值的类型为 float -
如果函数名字前没有 void, 那么默认是 int 类型
-
如果函数名字前面为为 int, 那么就表示这个函数要有返回值,即这个函数中需要有 return, 如果没有那么 xcode 会报错
-
如果函数名前面为 void, 那么就表示这个函数没有返回值,即这个函数中不能有 return 语句来返回数据
-
如果有以下代码
void test(int num)
{printf("num=%d\n",num);
}
int main(int argc,char*argv[]){
int num=100; test(num);
}
注意点: main函数中的变量 num如果放到了 test 函数的调用语句中,那么就称为 实参(实际传递的那个值),此时理解方法为:把 num 变量中的值 做了一个备份 赋值给了 test 函数中的形参变量,即 test 函数中的 num 此时为100;
-
一个函数可以有多个参数, 需要注意的是:在调用的时候 传递的实参的个数以及先后顺序要个定义变量中的一一对应
-
一个函数 最多只能有1个返回值,即使这个函数中有多个return 语句,那么也不会返回多个,因为 在函数中只要执行到了 return 语句,那么这个函数就立马结束
-
如果被调函数在主调函数的下面,那么 xcode 会报错,原因是 主调函数找不到 被调函数,所以 有2种方法来解决这样的问题:
1> 被调函数放在主调函数的上面
2> 当 被调函数在主调函数的下面的时候,只需要在主调函数的前面 对被调函数进行声明即可
函数声明的方法:把定义的函数从 函数名前面的类型开始一直遇到函数{为止,把这些赋值 ,粘贴在主调函数的前面即可
全局变量
g_变量名 = 100
// 通常以g_ 开头
函数声明
函数名();
int main(){
return 0;
}
关于函数这个知识点,需要大家多多练习,↖(ω)↗