C 语言函数声明与定义

函数声明与定义

您刚刚从前面的章节中了解到,可以通过以下方式创建和调用函数:

实例
  1. #include <stdio.h>
  2. // Create a function
  3. void myFunction() {
  4. printf("I just got executed!");
  5. }
  6. int main() {
  7. myFunction(); // call the function
  8. return 0;
  9. }

函数由两部分组成:

  • 声明:函数名、返回类型和参数(如果有)
  • 定义:函数体(要执行的代码)
  1. void myFunction() { // declaration
  2. // the body of the function (definition)
  3. }

对于代码优化,建议将函数的声明和定义分开。

你经常会看到 C 语言程序在 main() 上面有函数声明,在 main() 下面有函数定义。这将使代码更有条理,可读性更高:

实例
  1. #include <stdio.h>
  2. // Function declaration
  3. void myFunction();
  4. // The main method
  5. int main() {
  6. myFunction(); // call the function
  7. return 0;
  8. }
  9. // Function definition
  10. void myFunction() {
  11. printf("I just got executed!");
  12. }

其他实例

如果我们使用上一章中关于函数参数和返回值的实例:

实例
  1. #include <stdio.h>
  2. int myFunction(int x, int y) {
  3. return x + y;
  4. }
  5. int main() {
  6. int result = myFunction(5, 3);
  7. printf("Result is = %d", result);
  8. return 0;
  9. }

这样写被认为是很好的做法:

实例
  1. #include <stdio.h>
  2. // Function declaration
  3. int myFunction(int, int);
  4. // The main method
  5. int main() {
  6. int result = myFunction(5, 3); // call the function
  7. printf("Result is = %d", result);
  8. return 0;
  9. }
  10. // Function definition
  11. int myFunction(int x, int y) {
  12. return x + y;
  13. }