C的学习之路——六

函数

函数是C语言的基本功能模块,通过函数调用可以实现特定的功能。在C中可以使用其提供的库函数,还可以自定义函数。

    意义;实现模块化程序设计

              便于解决复杂的问题

              便于开发人员分工合作

              提高程序设计的效率

    主函数main()每个C语言程序都必须有且只有一个main函数,它是每一个C语言程序的入口

    库函数是由C语言系统提供的,无需用户定义,也不必在程序中做类型说明,只需在程序前包含相应的头文件即可

    自定义函数。由需要编写的函数

    函数定义的一般形式

           返回值类型 函数名 ( 类型说明符 形参1,……){

                  语句

            }

返回值的类型是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值的类型。默认为int型。若无返回值,可取void。函数名是由用户定义的标识符,在同一程序中是唯一的。函数名后面的()不可省略,无参函数也不例外。函数名后括号中的内容称为参数。参数可以是各种类型,形参用于接收主调数传送来的数据。当形参数量超过一个时,参数中间用逗号隔开;如果不需要参数,括号中内容可以为空。在定义函数时参数还没有具体的数值,所以称为形式参数(形参)或者虚拟参数(虚参)。{}内的数据定义语句序列和执行语句序列构成函数体,形参接收的初始数据要靠函数体来处理,处理过程中需要的变量要由数据定义语句加以说明,而具体的执行步骤则由执行语句来完成

在C语言中,所有的函数定义(包括主函数main())都是在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定之行关系

return语句

函数体内需要返回值时,往往需要使用 return语句,其常用的格式有

return 表达式;

return (表达式);

return;

注意:若 return返回值的类型与函数类型不同,则系统自动将 return后面表达式的值强制转换为函数值的类型,返回,转换的过程中可能出现误差甚至错误,所以要尽量保证两者类型相同。函数体内也可以没有return语句,没有 return语句时,程序的流程就直执行到函数末尾的“}”,然后返回到主调函数
在函数中允许有多个 return语句,但每次调用只能有一个 return语句被执行,因此使用 return语句只能返回一个函数值

注意:
函数必须遵循“先声明(说明),后调用”的原则

函数声明格式

类型标识符 函数名(类型说明符 形参变量1,类型说明符形参变量2,…);

“定义”与“声明”的区别

“定义”是指对函数功能的确立,包括函数名、返回值类型、形参及类型、函数体等。而“声明”的作用是把函数的名字、形参个数及关型思返回值的类型等通知编译系统,以便在调用改数时系统照此进行检查

函数声明的位置:C语言规定:除函数类型为int型和被调函数的定义在主调函数之前可省略函数声明外,其他情况均要求对被调函数进行声明。函数的声明位置可以视情况而定,既可以放在主函数之外,也可以放在主函数体内的说明部分。

函数调用的一般格式

函数名(实际参数1,实际参数2,…)

无参函数调用的一般形式:

函数名()

函数调用的方式

函数表达式

函数语句

函数实参

函数的传参方式

传值:将实参的值赋值给形参,当形参的值改变时,实参的值不改变

传址:将实参的地址赋值给形参,当形参的值改变时,实参的值改变

函数的嵌套调用:在一个函数中调用另外一个函数

函数的递归调用:在自身的函数体内调用自身

内部函数:只能被本文件中发函数调用,又称静态函数

static 数据类型 函数名(参数说明){

       函数体

}

外部函数 可以被外部文件调用。默认情况下定义的都是外部函数,调用之前需声明

extern 返回值类型 函数名(形参表);



下节链接https://blog.csdn.net/chaolingw/article/details/79856909


猜你喜欢

转载自blog.csdn.net/chaolingw/article/details/79845279