之前我一直以为是同一个意思,其实他们不是同一个意思

定义:Definition

用来告诉编译器,需要分配一块内存,储存变量、函数代码等等

同一个名称,在被销毁前,只能被定义一次

  1. int a; //定义变量
  2. void Hibari(){} //定义函数

声明:Declaration

用来告诉编译器、某个函数已经存在了, 目的是在定义之前使用(函数在后面定义,不是不定义)

声明是可用多次声明

  1. #include <stdio.h>
  2. void Hibari(int a); //函数声明
  3. int main()
  4. {
  5. Hibari(1); //在定义之前使用了函数
  6. return 0;
  7. }
  8. void Hibari(int a) //定义函数
  9. {
  10. printf("定义函数");
  11. }