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