- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言函数概论
C语言函数概论
一个源程序文件由一个或多个函数组成,一个源程序文件是一个编译单位,即以源程序为单位进行编译,而不是以函数为单位进行编译。
一个C程序有一个或多个源程序文件组成,一个源文件可以被多个程序公用。
c程序的执行从main函数开始,调用其他函数后流程返回到main函数,在main函数中结束整个程序的运行。main函数是系统定义的。
所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。
从用户的角度看,函数包括标准函数,即库函数,还包括用户自己定义的函数,用以解决用户的专门需要。
从函数的形式看,函数包括无参函数和有参函数。
无参函数的定义的一般形式:
类型标识符 函数名()
{ 声明部分
语句
}
有参函数的定义的一般形式:
类型标识符 函数名(形式参数表列)
{ 声明部分
语句
}
可以有空函数,一般形式为:
类型说明符 函数名()
{}
主调函数和被调用函数之间有数据传递的关系。这就是前面提到的有参函数。
在定义函数是函数名后面括弧中的变量名称为形式参数,在主调函数中调用一个函数时,函数名后面括弧中的参数称为实际参数。
在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,函数中的形参才会被分配内存单元,
在调用结束后,形参所占的内存单元也会被释放。
实参可以是常量,变量或表达式。但要求它们有确定的值。
在被定义的函数中,必须指定形参的类型。
实参和形参的类型应该相同或赋值兼容。在内存中,实参单元与形参单元是不同的单元。
C语言规定,实参变量对形参变量的数据传递是值传递,即单向传递,只由实参传给形参,而不能由形参传回给实参。
函数的返回值:通过函数调用使主调函数能得到一个确定的值。
函数的返回值是通过函数中的return语句获得的。如果需要从被调用函数带回一个函数值,被调用函数中必须包含return语句。
如果不需要从被调用函数带回函数值就可以不要return语句。
函数值的类型。
如果函数??的类型和return语句中表达式的值不一致,则以函数类型为准,对数值型数据,可以自动进行类型转换。
如果被调用函数中没有return语句,并不带回一个确定的用户所希望得到的函数值,但实际上,函数并不是不带回值,而只是不带回有用的值,带回的是一个不确定的值。
函数调用的一般形式为:
函数名(实参表列);
函数调用方式:函数语句;函数表达式;函数参数。
函数的定义是指对函数功能的确立,包括指定函数名,函数值类型,形参及其类型,函数体等。它是一个玩真的独立的函数单位。
函数的声明则是把函数的名字,函数类型以及形参类型,个数和顺序通知编译系统。以便在调用该函数时系统按此进行 对照检查。
C语言的函数定义都是互相平行的,独立的,一个函数内不能包含另一个函数,C语言不能嵌套定义函数,但可以嵌套调用函数。
再调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。
数组元素可以作为函数参数,由于实参可是表达式,数组元素可以是表达式的组成部分,因此数组元素也可以作为函数的实参,是单向传递,即值传递方式。
数组名可以作为函数参数,此时形参和实参都应用数组名。
说明:用数组名做函数参数,应该在主调函数和被调用函数分别定义数组,实参数组和形参数组类型应一致。
形参数组也可以不指定大小,在定义数组时在数组名后面跟一个空的方括弧,还可以另设一个参数,传递需要处理的数组元素的个数。
用数组名做函数实参时,不是把数组元素的值传递给形参,而是把实参数组的起始地址传递给形参数组,两个数组就共同占用一段内存单元。
用多维数组名作为函数参数,在被调用函数中对形参数组定义是可以指定每一维的大小,也可以省略第一维的大小说明。
在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,即只有在本函数内才能使用它们,在此函数外是不能使用这些变量的。称为局部变量。
说明:主函数main中定义的变量只在主函数中有效,而不是因为在主函数中定义而在整个文件或程序中有效。主函数也不能使用其他函数函数中定义的变量。
不同函数中可以使用相同名字的变量,它们代表不同的对象,互不影响。形式参数也是局部变量。
在一个函数内部,可以在符合语句中定义变量,这些变量只在复合语句中有效,这种复合语句也可称为分程序或程序块。
在函数内定义的变量是局部变量,而在函数外定义的变量称为外部变量,也就是全局变量。全局变量可以为本文件中其他函数所公用,
您可能关注的文档
- 20正弘山下阶段推广策略方案.ppt
- ATEN-第十三章NAT.doc
- ANSYS学习课件-4.ppt
- AUOTOCAD教案.doc
- 2011北京模拟8题12题汇编.doc
- AUTOCAD2011使用教程第5章.ppt
- AutoCAD常用工具介绍.doc
- AutoCAD命令解释-01共02.ppt
- A英文启蒙字卡-9月.doc
- B50手自一体操作.doc
- 中国国家标准 GB/T 4797.3-2024环境条件分类 自然环境条件 第3部分:生物.pdf
- GB/T 4797.3-2024环境条件分类 自然环境条件 第3部分:生物.pdf
- 《GB/T 10395.28-2024农业机械 安全 第28部分:移动式谷物螺旋输送机》.pdf
- 中国国家标准 GB/T 10395.28-2024农业机械 安全 第28部分:移动式谷物螺旋输送机.pdf
- GB/T 10395.28-2024农业机械 安全 第28部分:移动式谷物螺旋输送机.pdf
- 高中数学学考复习优化练习20空间点、直线、平面之间的位置关系含答案.docx
- 刘静心 82003005 材加概论结课论文(2).pdf
- 社会实践登记表1.doc
- 刘静心 82003005 材加概论结课论文.docx
- 十三五全面二孩政策解读.ppt
文档评论(0)