如果不做检查,在运行时才发现实参与形参的类型或个数不一致,则出现运行错误。在运行阶段发现错误并调试,比较麻烦,工作量比较大。所以尽可能不要。 声明的作用是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查。 函数的定义是指对函数的功能的确立,包括指定函数名、函数值类型、形参及其类型、函数体等,它是一个完整的独立的函数单位。 int max(int x,int y){int z;z=xgt;y? x:y;return(z)}这是函数的定义 这是函数的声明。
创新互联:于2013年成立为各行业开拓出企业自己的“网站建设”服务,为上千多家公司企业提供了专业的成都网站建设、成都网站设计、网页设计和网站推广服务, 按需策划由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
第一,如果你没有看错就是你的书错了,只有int和char类型的函数不必声明
第二,C中可以不声明函数的条件是3个
1就是上面我说的
2.是被调函数定义在主调函数之前,可不必声明
3函数的外部已声明过了,个个主调函数中不必声明
对于第二点,很好解释,因为声明的目的在于告诉编译器有这么个自定义函数,返回类型是什么,如果被调函数定义在主调函数之前,那么编译器自然就知道了这个函数
你把f2和f1换下位置并去掉声明就明白了
再说一句,写函数声明是编写程序的良好习惯
请注意这是C程序,C官方声明标准编译器是Turboc 2。0
不要把C++的概念强加给C
我不是说VC++6不好,而是说既然是在学C,就要用标准的C编译器,只有标准C编译器才能正确的学习C的基础理论
可能有些不声明也能通过,但效率极低,最好先声明。
1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
3、二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
我也来 说几句。。
标准编译器 对函数的调用 都要
先申明 才能 调用
(生产的时候就这样设定的)。。我推荐试用
大点的 vs2005,vc2000.
小点的 Dev-cpp ,Turboc 3.0 (2.0 不支持鼠标有点 麻烦)
这里 就涉及: 申明和定义之间的区别。
申明-- 不开辟内存,仅仅告诉编译器,申明的部分存在,要预留一点空间。
定义-- 开辟内存。
申明 属于 预编译范畴的。最好写在头文件中(楼主,自定义头文件学了没有啊?)(申明都写在头文件中,只是一种好的编程习惯)
因为 在编译的时候,编译器先处理一些特殊数据(宏定义,函数的申明,变量的申明),在这个过程中,编译器 通过申明 可以预测整个定义需要的内存大小,并且 把这些大小预留起来,留给定义的时候使用(因为虽然定义,但是在 main函数里面没有调用,一样的不分配内存)。
如果不事先申明,直接定义,有可能会造成系统崩溃,出现内存不足,不能分配。 然而现在内存都是1G左右了,所以一般空间都足够,所以你也可以不申明直接定义函数。
但是一旦内存紧张,就会出错,而且程序简洁性就很低。(不看到定义,还不知道原来还定义了这么一个函数!!!)
还有 变量也一样,标准的都是 先申明在定义。
extern int i; //申明
int i=0; //定义并初始化为0
int i; //定义
.。。。。。。。。。。。。。。。。。
所以 从现在其要养成良好的编程习惯
先申明,在定义。
申明最好都放在 一块,并且都在头文件中(为了便于管理)。
应该要声明的吧 看你用什么编译软件的 有可能有些编译软件可以不声明 所以一般把main函数写在最后 这样就不用申明了
c明确规定,不许在任何函数内做函数声明(主函数除外)
主函数内声明的函数,仅允许被主函数调用