声明要放在调用的前面,以便在调用时编译器知道函数是个什么样的,定义如果放在调用以前就可以不声明,如果定义放在调用以后又不声明,调用的时候就会报错,声明但不定义编译不错,运行会错,比如 void fun( int ) //这就是声明,参数可以不带,因为编译器忽略,跟void fun( int x )是一样的。 int main() { fun( 5 );//这是调用 return 0; } void fun( int x ) //这是定义 {}
如果这样就可以不声明了,因为声明定义在一块 void fun( int x ) {...} int main() { fun(5); return 0; }