最好吧函数声明放在头文件的下面。不管用不用,值要用了调用函数就在头文件下声明下。不然你写调用函数嵌套很容易出现函数声明类型出错等问题的。
十年来,创新互联不忘初心,以网站建设互联网行业服务标杆为目标,不断提升技术设计服务水平,帮助客户在互联网推广自己的产品、服务和品牌,为客户创造价值从而实现自身价值!
如果需要将函数定义放在函数调用后,可以采用函数声明。函数声明的格式为:返回值类型符 函数名称(形式参数列表);其中根据函数的不同,返回值类型可能是void(没有返回值),形式参数也可能是void(没有函数参数)。总之函数声明和函数定义部分的函数头格式基本相同,但函数声明在末尾有一个分号。函数声明里的形式参数可以只写类型而省略名称。函数声明可以位于主调函数的定义部分
函数声明也可以在函数外部,这样声明的特点是:当前文件从声明位置到文件结束的任何函数中都可以调用该函数。
函数定义和函数声明是完全不同的。函数定义包括函数头和函数体,完整的定义了函数的输入、输出和具体实现;函数定义一定包括一对大括号。而函数声明是为了编译的需要。总之只要理解了编译的特点,就比较容易理解声明的必要性和声明的有效范围。
定义函数
C 语言中的函数定义的一般形式如下:
return_type function_name( parameter list )
{
body of the function
}
在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:
返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。
函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
函数主体:函数主体包含一组定义函数执行任务的语句。
我也来 说几句。。
标准编译器 对函数的调用 都要
先申明 才能 调用
(生产的时候就这样设定的)。。我推荐试用
大点的 vs2005,vc2000.
小点的 Dev-cpp ,Turboc 3.0 (2.0 不支持鼠标有点 麻烦)
这里 就涉及: 申明和定义之间的区别。
申明-- 不开辟内存,仅仅告诉编译器,申明的部分存在,要预留一点空间。
定义-- 开辟内存。
申明 属于 预编译范畴的。最好写在头文件中(楼主,自定义头文件学了没有啊?)(申明都写在头文件中,只是一种好的编程习惯)
因为 在编译的时候,编译器先处理一些特殊数据(宏定义,函数的申明,变量的申明),在这个过程中,编译器 通过申明 可以预测整个定义需要的内存大小,并且 把这些大小预留起来,留给定义的时候使用(因为虽然定义,但是在 main函数里面没有调用,一样的不分配内存)。
如果不事先申明,直接定义,有可能会造成系统崩溃,出现内存不足,不能分配。 然而现在内存都是1G左右了,所以一般空间都足够,所以你也可以不申明直接定义函数。
但是一旦内存紧张,就会出错,而且程序简洁性就很低。(不看到定义,还不知道原来还定义了这么一个函数!!!)
还有 变量也一样,标准的都是 先申明在定义。
extern int i; //申明
int i=0; //定义并初始化为0
int i; //定义
.。。。。。。。。。。。。。。。。。
所以 从现在其要养成良好的编程习惯
先申明,在定义。
申明最好都放在 一块,并且都在头文件中(为了便于管理)。