黑马程序员技术交流社区

标题: 关于函数声明的问题 [打印本页]

作者: 2的狠正经    时间: 2014-3-23 19:18
标题: 关于函数声明的问题
在mian() 中调用函数需不需要在main()中先声明这个函数?
我发现有的不声明也能调用, 这是为什么?
作者: FlyTrem    时间: 2014-3-23 19:44
首先,要先明确系统编译代码是从上往下依次翻译的。如果不声明,那么你定义的函数要放在你的main函数之前,如果你放在了main函数之后,而在之前没有声明的话,那么在你的main函数调用时由于你前面没有这个函数的编译,可能会出错的!所以如果不想声明函数的话,就把定义的函数全部放到main之前。但一般写程序,便于快速找到主函数还是把定义函数放后面,前面声明的比较好!如果是小 程序就看自己的喜好了!!!
作者: 氯化钾    时间: 2014-3-23 20:02
你是不是写在main()前面了~:lol
作者: 黑马IT男    时间: 2014-3-23 20:26
如果函数写在main()函数之后,那么在调用的时候必须先声明,如果写在main()函数之前则不需要,而且好像还和编译器有关吧,具体的不是很明白。
作者: 程浩    时间: 2014-3-23 22:04
c程序是从上往下看,程序(你)往下走的时候看到了----一张群主照片
继续往下走,又看到很多其他人的照片
如果在路上看到群主,自然会打招呼说个话,版主于是好心告诉你:啊,你入学考试资格申请通过啦。
如果没有事先看到照片,就不会和他打招呼,更不知道,申请是不是过了。
作者: 1722413885    时间: 2014-3-24 10:15
c语言编译器对于源代码的编译是顺序编译的,当你的任意一个函数中调用某个函数的时候,这个函数的原型必须在调用之前声明,否则就会出现编译错误。
比如:
void a(int b)
{
  printf("%d\n", b);
}

void main( )
{
  a(10);
}
就没有问题。如果把a函数放在main函数后就要先声明void a(int b);还有声明不是在main函数中声明




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2