当前位置:首页 > 第六章 函数
2、函数的定义
C51对函数的功能进行了扩展,函数定义的完整形式如下: 返回数据类型 函数名(形式参数列表) [reentrant] [interrupt n] [using m] {局部变量定义 函数体;}
(注意对于原型函数的说明,和定义函数相似,但无函数体,也不能说明工作寄存器组的切换using n和中断说明interrupt函数。) 其中:
1)函数类型
静态函数和外部函数。
(1)静态函数(内部函数,默认)
静态函数只能在定义它的文件中被调用,而不能在其他文件中的函数所调用。 (2)外部函数
外部函数可以在定义它的文件和其它文件中被调用。可以在函数定义和调用时使用extern说明是外部函数。
但必须注意:在一个文件中,若将主程序放到前面,对后面出现的函数,就必须在文件开始进行说明,说明方式同普通C语言。否则出现警告如下:
函数**.C(5): warning C206: 'func': missing function-prototype
所以编程时,要习惯将main()放到最后。 (见“外部函数”)
例:文件1:
#include
unsigned char data x1=12,x2=2,y; main() {
y=add(x1,x2); }
文件2:
data char x3; add(x1,x2) {
x3=x1+x2; return x3; }
2)函数返回值与数据类型
如果返回数据,进行说明;如果不返回,一般用void说明,也可以不说明。
函数返回值通过return x返回,返回值是通过函数名带回的,所以一个函数只能有一个返回值。上例中的x3和y。 3)形参与实参
形参:在定义函数时,函数名后面括号中的变量称为“形参”,定义时不赋值,由调用函数将值传过来。
实参:主调用函数后面括号中的表达式为“实参”,实参必须有确定的值。该值在调用时按对应关系传递给形参。 C语言中参数传递是单向的。
共分享92篇相关文档