声明与定义分离

如果编译器一开始就知道函数的返回类型,就不用稍后再找了。为了防止编译器假设函数的返回类型,你可以显式地告诉它。告诉编译器函数会返回什么类型的语句就叫函数声明

声明与定义分离 - 图1

声明只是一个函数签名:一条包含函数名、形参类型与返回类型的记录。

一旦声明了函数,编译器就不需要假设,完全可以先调用函数,再定义函数。

如果代码中有很多函数,你又不想管它们在文件中的顺序,可以在代码的开头列出函数声明:

  1. float do_something_fantastic();
  2. double awesomeness_2_dot_0();
  3. int stinky_pete();
  4. char make_maguerita(int count);

甚至可以把这些声明拿到代码外,放到一个头文件中。你已经用头文件包含过C标准库中的代码:

声明与定义分离 - 图2

去看看如何创建你自己的头文件。

声明与定义分离 - 图3