重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
声明的意思是让编译器知道这个是已经定义好了的。下面可以直接使用了。
创新互联建站-专业网站定制、快速模板网站建设、高性价比绛县网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式绛县网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖绛县地区。费用合理售后完善,十载实体公司更值得信赖。
声明(declaration )指定了一个变量的标识符,用来描述变量的类型,是类型还是对象,或者函数等。声明,用于编译器(compiler)识别变量名所引用的实体。
“函数定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参类型、函数体等,它是一个完整的、独立的函数单位。
声明就是声明一下我用到的变量或者类型,变量或者类型的实际定义并不一定在本文件内。
1、void do_func(); //声明就是告诉编译器我有这么一个函数 do_func(); //调用就不会出错了 } 当然。这个函数具体是什么功能,我们要来定义一下。
2、void foo() //函数定义 defination { printf(hello world!);} 这是一种情况,这时定义与声明是分开的,如果把定义直接移到引用的前面,则定义与声明是一起的。
3、包含函数实现的叫做函数的定义,一般位于.c文件中,如:int func(int a){return a+1;} 不包含函数实现,只包含函数名的叫做函数的声明,一般位于.h文件中。
区别:定义也是声明,extern声明不是定义。定义分配存储空间,而声明不会。通过使用extern关键字声明变量名而不定义它。 事实上它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。
总之,函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明。
不同文件中:fun.h:void fun(); //函数声明 fun.c:extern int a; //声明,不再分配内存,extern关键字表示此变量已在其它地方定义。
由于C语言的编译,是对c/cpp文件的内容从上至下编译。一般子函数(用户定义的函数)放在主函数(main函数)后面的话,main函数前面就该有声明,不然编译系统将无法识别到子函数。
声明和定义是针对函数的概念:包含函数实现的叫做函数的定义,一般位于.c文件中,如:int func(int a){return a+1;} 不包含函数实现,只包含函数名的叫做函数的声明,一般位于.h文件中。