C 函数声明和定义
函数声明和定义
从前面的章节中,你刚刚学习了可以通过以下方式创建和调用函数:
实例
// 创建一个函数 void myFunction() { printf("本段代码刚被执行!"); } int main() { myFunction(); // 调用函数 return 0; }
一个函数由两部分组成:
- 声明:函数的名称、返回类型和参数(如果有的话)
- 定义:函数的主体(要执行的代码)
void myFunction() { // 声明 // 函数体(定义) 函数的主体(定义) }
为了优化代码,建议将函数的声明和定义分开。
你经常会看到在 main()
函数上面有函数声明的 C 程序,而在 main()
函数下面有函数定义。这将使代码组织得更好,更易于阅读:
实例
// 函数声明 void myFunction(); // 主方法 int main() { myFunction(); // 调用函数 return 0; } // 函数定义 void myFunction() { printf("本段代码刚被执行!"); }
关于函数参数
如果我们采用函数参数章节中关于参数和返回值的例子:
实例
int myFunction(int x, int y) { return x + y; } int main() { int result = myFunction(5, 3); printf("结果是 = %d", result); return 0; } // 输出 8 (5 + 3)
这样写被认为是很好的做法:
实例
// 函数声明 int myFunction(int, int); // 主方法 int main() { int result = myFunction(5, 3); // call the function printf("结果是 = %d", result); return 0; } // 函数定义 int myFunction(int x, int y) { return x + y; }
函数的相互调用
只要先声明函数,就可以实现函数间的相互调用:
实例
// 声明两个函数 void myFunction(); void myOtherFunction(); int main() { myFunction(); // 从 main 调用 myFunction return 0; } // 定义 myFunction void myFunction() { printf("myFunction 中的文本\n"); myOtherFunction(); // 在 myFunction 中调用 myOtherFunction } // 定义 myOtherFunction void myOtherFunction() { printf("嘿!myOtherFunction 中的文本\n"); }