函数原型 程序中,如果调用自定义的函数,且函数定义在后, 调用在先,则必须在调用函数之前有函数原型声明 void subfun1(.);∥原型声明 main o sunfu(….);/-数调用 void subfun1(.)/函数定义 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -36- 函数原型 • 程序中,如果调用自定义的函数,且函数定义在后, 调用在先,则必须在调用函数之前有函数原型声明。 void subfun1(…);//原型声明 main() { ┆ sunfun1(…);//函数调用 ┆ } void subfun1(…)//函数定义 { … }
函数原型 如果是函数定义在先,调用在后,则不必进行函数原 型声明。因为编译器已经从函数定义得到关于函数的 信息。 void subfun1(.)/函数定义 main O sunfun1(..);∥函数调用 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -37- 函数原型 • 如果是函数定义在先,调用在后,则不必进行函数原 型声明。因为编译器已经从函数定义得到关于函数的 信息。 void subfun1(…)//函数定义 { … } main() { ┆ sunfun1(…);//函数调用 ┆ }
函数原型 源文件中,如果在所有函数定义体之外声明函数 原型,则该函数可被位于其原型声明之后的所有 函数调用 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -38- 函数原型 • 源文件中,如果在所有函数定义体之外声明函数 原型,则该函数可被位于其原型声明之后的所有 函数调用
void subfun1(.);/原型声明 main () main O void subfun1(..);∥/函数原型 声明 sinful(..);//函数调用 sunfu ;∥函数调用 错误,编译 void sunfun2 O 器不识别 void sunfun2 O) sunfun1标识 符 sunfun1(….);//函数调用 sunfun1(..);/函数调用, void subfun1l(..)//函数定义 void subfun1(.) 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -39- void subfun1(…);//原型声明 main() { ┆ sunfun1(…);//函数调用 ┆ } void sunfun2() { ┆ sunfun1(…);//函数调用 ┆ } void subfun1(…)//函数定义 { … } main() { void subfun1(…);//函数原型 声明 ┆ sunfun1(…);//函数调用 ┆ } void sunfun2() { ┆ sunfun1(…);//函数调用,┆ } void subfun1(…) { … } 错误,编译 器不识别 sunfun1标识 符
3. return语句 ◆ return语句使程序执行流程从被调函数返回主调 函数,有两种形式 (1)不返回值的形式: return; (2)返回值的形式 return表达式; 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -40- 3.return语句 return语句使程序执行流程从被调函数返回主调 函数,有两种形式: (1) 不返回值的形式: return; (2) 返回值的形式 return 表达式;