永发信息网

函数先声明什么意思

答案:1  悬赏:70  手机版
解决时间 2021-03-08 20:11
  • 提问者网友:辞取
  • 2021-03-08 07:42
函数先声明什么意思
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-03-08 08:22
问题一:为什么在C++中函数要先声明然后再定义呢? 你也可以不声明,直接定义。但:
1、函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,你是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以了,明了。
2、也许函数并不都是在一个文件里使用,这时候,如果再定义一遍,不仅显得罗嗦,而且使程序的维护变得麻烦,如果修改这个函数的话,需要修改每个定义。
所以可以把函数声明放在一个头文件中,使用的时候,包含这个头文件就可以了。
3、有时候,自己写的函数需要给别人用,比如商业用途。这样的话,不能将整个函数的实现都给对方,这就需要生成一个库文件,而将函数声明放在头文件中来给对方使用。
4、有时候需要用函数声明来重新声明函数,即使前面已经声明过。这样做可以设置新的默认参数,也可以是为了屏蔽作用域外同名的函数声明。问题二:函数先声明后定义? 楼主,普遍情况下函数需要先声明,然后再定义。但是,我们可以直接定义。一下程序说明了这一点
#include
int pp(int n)
{
return n+1;
}
void main()
{
int i=10;
printf(%d\n,pp(i));
}
直接一次性定义,直接使用问题三:在c语言中,函数调用是否必须先声明。 在C语言中,编译一个C语言源文件是从第一行开始扫描到最后的,你调用一个函数,之前必须定义或申明过这个函数。
这样是合法的:
void f(){
}
int main(){
f();
}
这样也是合法的
void f();
int main(){
f();
}
void f(){
}
这样就是非法的
int main(){
f();
}
void f(){
}
所以函数调用不一定需要先声明,当函数定义调用函数之后需才要先申明。问题四:C语言中,在定义一个函数的时候,需要先声明函数,在声明语句中,以下两种形式有什么区别呢? void 没有区别,函数声明的时候可以不写的,写了和不写一样,没区别,但是函数定义的时候要写问题五:C语言 函数定义 函数声明 区别 楼主可以这样想,C语言中,无论是常量,变量,函数,只有先定义才能使用的。在函数定义时,大脑要往一般的常量,变量定义的方向,切忌先不要想函数的别的。定义好后,把函数的定义先放一边,不管它。
接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的。由于当代码越长,用到的函数就越多,为了减少函数的混淆,所以要有个函数名,就像老师点名一样,声明一个函数,就如点一个学生的名字。
总之,函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明。问题六:c++先声明的函数可以调用后声明的函数吗? 可以的,前提是要在先声明的函数开头前定义后声明的函数。
例如以下程序段
------code--start-----
#include void a(){ b();}void b(){ printf(Hello World!\n);}int main(){ a(); return 0;}-----code--end-----
上面这段程序是无法通过编译的,原因是b函数在a函数的后面,a函数找不到b函数
但如果程序段改写成以下这样就可以了:.
------code--start-----
#include void b();//此处多了一处声明void a(){ b();}void b(){ printf(Hello World!\n);}int main(){ a(); return 0;}-----code--end-----
只要像上面一样加一行“void b();”定义即可,不过注意必须放在a函数的前面。问题七:C语言中在什么情况下调用自定义函数前需要先声明? 编译器是按顺序编译的,如果有以下情况:
void a()
{
b();//编译器在这里还未编译b(),所以此时函数b是不存在的。
}
void b()
{}
打个比方
int a=b; //报错
int b=0;
其实是一个道理。
变量只能先定义再使用。问题八:为什么C语言连函数都要先声明后使用? 你也可以不先声明,你可以把它放在主函数前面。这是编译顺序问题问题九:怎么理解C语言中的函数要先定义后使用?先在此谢过了! 申请一个内存地址,有了地址才能读取赋值操作
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯