C语言编程:理解函数的概念与应用

需积分: 10 0 下载量 89 浏览量 更新于2024-07-11 收藏 836KB PPT 举报
"本章介绍了C语言中的函数概念、定义与调用,包括函数的递归调用、变量的作用域、函数的作用域、数组作为函数参数、变量的生存期、内部函数和外部函数,以及通过实例讲解如何使用函数实现特定功能。" 在C语言中,函数是一种将一段可重用的代码组织在一起的方式,它可以执行特定任务并可能接受输入(参数)和返回结果。函数的主要优点是提高了代码的模块化和可读性,使得大型程序的开发和维护变得更加方便。 7.1 函数是什么 C语言中的函数是一系列有序的语句集合,它们共同完成一个特定的任务。主函数(main函数)是程序的入口点,而其他函数则可以被主函数调用或者互相调用,形成调用关系。函数可以无返回值(void类型),也可以有返回值(非void类型)。 7.2 函数的定义与调用 函数的定义包括函数名、返回类型、参数列表。例如: ```c void printstar() { printf("****************\n"); } ``` 调用函数时,只需在程序中写上函数名并括号内传递参数(如果有的话): ```c printstar(); ``` 7.3 函数的递归调用 函数递归是指一个函数在其定义中调用自身。在解决某些问题时非常有用,如计算阶乘或遍历数据结构。但需注意防止无限递归导致栈溢出。 7.4 数组作为函数参数 函数可以接收数组作为参数,实际上,这是通过数组的指针来传递的。例如: ```c void print_array(int arr[], int size) { for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } } ``` 7.5 变量的作用域 变量的作用域决定了变量在何处可见和有效。在C语言中,局部变量仅在定义它的函数或块内部有效,而全局变量在整个源文件或指定范围内都有效。 7.6 内部函数和外部函数 内部函数(static修饰的函数)仅在定义它的文件中可见,而外部函数可以在整个程序中被调用。外部函数默认具有全局作用域,若需限制其可见性,可以使用static关键字。 7.7 提高部分 这部分可能包含更高级的函数使用技巧,如指针参数、动态内存分配、函数指针等,用于提高程序的灵活性和效率。 在例题7.1中,通过定义两个函数`printstar`和`print_message`实现了输出星号和文本的功能。`printstar`用于打印星号行,`print_message`用于打印问候语。这样,相同的代码只需要写一次,提高了代码的复用性。程序的运行结果展示了这两个函数的正确调用和功能实现。