函数:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1.函数的定义
函数的使用必须“先定义,后使用”。
形式:
返回值类型 函数名(形式参数声明)
{
声明部分
语句序列
}
函数定义中省略了返回值类型,则默认为int类型。
函数间的通信通过参数、函数返回值以及外部变量进行。
2.函数的调用
在一个函数体中引用另一个已经定义的函数,前者称为主调用函数,后者称为被调用函数。
形式:函数名(实际参数)
三种调用方式:
(1)函数语句;
(2)函数表达式
(3)函数参数。
函数定义中出现的变量称为形式参数,函数调用出现的与形式参数对应的值称为实际参数。
形式参数在未发生调用前不占内存单元,只有发生调用后才分配内存单元,同时获得从主调用函数中实际参数的值。
调用库函数和自定义函数(其他文件中)要用预处理命令#include将有关函数说明的头文件包含进来。
参数传递有单向传递和双向传递两种,单向传递(值传递)中,被调函数不能直接修改主调函数中变量的值;双向传递(地址传递)中,被调函数能访问和修改主调函数中对象的值。
C语言中的函数可以递归调用,即函数可以直接或间接调用自身。
形式:返回值类型 函数名(参数表) [reentrant]
3.中断服务函数
形式:
返回值类型 函数名(形式参数)[interrupt n] [using n]
规则:
(1)中断函数不能进行参数传递;
(2)中断函数没有返回值;
(3)不可直接调用中断函数;
(4)中断函数调用其他函数,则被调用函数所使用的寄存器组必须与中断函数相同;
(5)C51编译器从绝对地址8n+3处产生一个中断向量,其中n为中断号。该向量包含一个到中断函数入口地址的绝对跳转。
文章评论(0条评论)
登录后参与讨论