函数版权所有@陈暂保留所有权利陈哲版权所有③陈哲保留所有权利
版权所有© 陈哲保留所有权利 版权所有 © 陈哲 保留所有权利 函数 陈哲
>函数声明和调用函数调用的语义嵌套函数调用V>递归函数调用>局部变量和全局变量变量的存储类别程序的内存布局V7版权所有@陈暂保留所有权利动态内存分配V函数指针>可变参数函数版权所有陈哲保留所有权利
版权所有© 陈哲保留所有权利 版权所有 © 陈哲 保留所有权利 2 ➢函数声明和调用 ➢函数调用的语义 ➢嵌套函数调用 ➢递归函数调用 ➢局部变量和全局变量 ➢变量的存储类别 ➢程序的内存布局 ➢动态内存分配 ➢函数指针 ➢可变参数函数
函数声明和调用>函数一般用于实现一个特定的功能,编写完成后可以在程序中多处调用。可以使用库函数可以使用自己编写的函数函数的作用V模块化:如果程序的功能比较多,规模比较大把所有代码都写在main函数中,就会使主函数变版权所有陈暂保留所有权利得功能混杂、代码过长,阅读和维护都很困难代码复用:有时程序中要多次使用某一功能,就需要多次重复编写实现此功能的代码,就会使代码余、不精炼,增加了程序员的工作量3
版 权 所 有 © 陈 哲 保 留 所 有 权 利 函数声明和调用 ➢函数一般用于实现一个特定的功能,编 写完成后可以在程序中多处调用。 ◦可以使用库函数 ◦可以使用自己编写的函数 ➢函数的作用 ◦模块化:如果程序的功能比较多,规模比较大, 把所有代码都写在main函数中,就会使主函数变 得功能混杂、代码过长,阅读和维护都很困难。 ◦代码复用:有时程序中要多次使用某一功能,就 需要多次重复编写实现此功能的代码,就会使代 码冗余、不精炼,增加了程序员的工作量。 3
>函数声明的语法类型名函数名([形式参数表列]))>函数定义的语法类型名函数名(形式参数表列1差一个分号函数体7int max(int X, int y)类型名是指函数的返回值类int max(int x, int y)。形式参数(简称形参)表互和名字(用逗号隔开)。形版权所有@陈暂保留所有权利int z;函数体包括声明部分和语z=x>y?x:y;函数声明和定义的语义return z;所需的参数个数、类型4
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢函数声明的语法: 类型名 函数名([形式参数表列]); ➢函数定义的语法: 类型名 函数名([形式参数表列]) { 函数体 } ◦ 类型名是指函数的返回值类型。 ◦ 形式参数(简称形参)表列可以包括多个参数的类型 和名字(用逗号隔开)。形参表列可以为空。 ◦ 函数体包括声明部分和语句部分。 ➢函数声明和定义的语义:告诉编译器该函数 所需的参数个数、类型和所对应的代码块。 4 差一个分号 int max(int x, int y); int max(int x, int y) { int z; z = x > y ? x : y; return z; }
>通过函数调用,希望得到一个计算结果,这就是函数的返回值函数的返回值类型应在定义函数时指定函数的返回值通过函数中的return语句获得。return语句的语法:returnexpression;。一个函数中可以有一个以上的return语句,执版权所有@陈暂保留所有权利行到哪一个return语句,哪一个就起作用5
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢通过函数调用,希望得到一个计算结果,这就 是函数的返回值。 ◦函数的返回值类型应在定义函数时指定。 ◦函数的返回值通过函数中的return语句获得。 ◦return语句的语法: return expression; ◦一个函数中可以有一个以上的return语句,执 行到哪一个return语句,哪一个就起作用。 5