C语言复习:函数定义与参数传递

需积分: 41 3 下载量 59 浏览量 更新于2024-08-23 收藏 107KB PPT 举报
"该资源是浙江大学金军教授关于C语言复习的内容,重点在于函数的定义,包括函数格式、参数传递和返回值。同时涵盖了C语言的基础知识,如数据定义(基本类型和构造类型)、运算及流程控制、程序结构、输入输出、命令行参数和编译预处理,以及常用的算法。" 在C语言中,函数是组织代码的基本单元,它执行特定任务并可能返回结果。函数的定义通常包括函数名、返回类型、参数列表和函数体。例如: ```c return_type function_name(param_type parameter_list) { // 函数体 } ``` 这里的`return_type`是函数返回值的数据类型,可以是基本类型如`int`、`float`,也可以是构造类型如数组或结构体,甚至可以是`void`表示无返回值。`function_name`是函数的名字,应遵循标识符的命名规则。`param_type parameter_list`定义了函数接受的参数,参数可以有零个或多个,每个参数由参数类型和参数名组成,之间用逗号分隔。 参数分为形式参数(formal parameter)和实际参数(actual parameter)。在函数调用时,实际参数的值被传递给形式参数。C语言中的参数传递主要有值传递和引用传递(通过指针实现)。对于值传递,形式参数得到的是实际参数的副本,对形式参数的修改不会影响实际参数;而对于引用传递,形式参数实际上是实际参数的地址,修改形式参数会影响到实际参数。 函数的返回值通过`return`语句实现。除了基本数据类型,函数也可以返回指针,这在处理大型数据结构或需要返回多个值时非常有用。例如,一个函数可以返回指向动态分配内存的指针,或者返回一个结构体类型的指针。 在给定的文件内容中,还涉及到了C语言的基础知识,包括数据类型和存储类别。基本类型包括整型(如`int`、`long`、`short`、`unsigned`)、实型(`float`、`double`)和字符型(`char`),以及它们的各种表示形式。常量包括整数、实数、字符(串)常量和符号常量。变量的定义和初始化是程序中使用变量的基础,例如`int x = 5;`。 构造类型如数组和结构体允许我们组合和管理多个数据。数组是一系列相同类型的数据的集合,可以是一维的或二维的。在给定的例子中,讨论了如何正确和错误地定义和初始化数组。例如,不正确的赋值或初始化数组的方式是选项C,因为不能直接对已定义的数组赋值字符串。 字符串在C语言中是字符数组,通常以空字符`'\0'`结束。`strcmp()`函数用于比较两个字符串,如果第一个字符串小于第二个,返回负数;如果相等,返回0;如果大于,返回正数。 最后,例子中的代码展示了如何通过索引操作访问和累加数组元素,以及如何计算主对角线和副对角线元素的和。 这个资源提供了C语言编程的关键概念,尤其是关于函数定义和使用的深入理解,这对于任何想要学习或复习C语言的人来说都是宝贵的学习材料。