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");
}