函数的定义
函数的定义是指在代码中实现函数的具体逻辑和功能。它包括函数的返回类型、函数名、参数列表和函数体。函数的定义提供了函数的实际实现,即函数体内的代码。
示例
int add(int a, int b) { // 函数的定义
return a + b;
}
函数的声明
函数的声明是指在代码中向编译器提供函数的信息,包括函数的返回类型、函数名和参数列表,但没有提供具体的函数实现(函数体)。函数的声明告诉编译器函数的存在和函数的接口,使得在函数被调用之前,编译器可以对函数进行正确的类型检查和链接。
若程序代码中只有函数的声明,没有函数的定义,则该程序可以通过程序的编译阶段,但是在链接阶段会报错,原因是找不到函数的定义,无法将函数的引用解析为具体的代码逻辑。
若函数的定义写在调用处代码之后,正确的写法是,在函数调用处前写一行函数的声明,告诉程序该函数存在。
示例
int add(int a, int b); // 函数的声明
int main() {
int result = add(3, 5);
return 0;
}
int add(int a, int b) { // 函数的定义
return a + b;
}
总结
函数的声明和定义有两个最主要的区别:
第一函数的定义提供了函数的具体实现,函数的声明只有函数的接口信息。
第二 在项目每个独立模块中,函数的声明主要写在.h头文件里,给其他模块提供函数接口。函数的定义写在.c源文件里,实现函数具体功能。