Chinaunix

标题: 新手请教C函数嵌套定义的问题 [打印本页]

作者: sfrost    时间: 2011-05-13 15:29
标题: 新手请教C函数嵌套定义的问题
本帖最后由 sfrost 于 2011-05-13 16:53 编辑
  1. int main(void)
  2. {
  3.         void print_time(int, int);
  4.         print_time(23, 59);
  5.         return 0;
  6. }
复制代码
教材是这样说的(我的理解):可在函数中嵌套一个子函数,但是只能声明该函数(名称、参数),而不能定义该函数。

基于这个概念,请教各位前辈一个问题:这样声明的作用是什么?不能定义该函数,那这个函数声明存在的意义是什么呢?或许学到后面(甚至实际工作中)会慢慢明白,但我怕到时候把这事给忘了,所以想提前请教一下。
作者: cokeboL    时间: 2011-05-13 16:17
LZ先看看声明的作用以及和定义的区别~
作者: sfrost    时间: 2011-05-13 16:52
回复 2# cokeboL


是指“先声明后使用”的原则吗?
作者: cokeboL    时间: 2011-05-13 16:58
回复  cokeboL


是指“先声明后使用”的原则吗?
sfrost 发表于 2011-05-13 16:52



    差不多吧,如果定义在调用前,自然没必要再这么声明一次了。
作者: keza    时间: 2011-05-13 17:08
你这声明的位置不对吧
作者: samkli    时间: 2011-05-13 18:22
外部链接的可选声明?但是从代码上面看又不是。

如果只是内部文件的函数完全没有必要在main函数中进行声明了,因为这东西会在预处理部分进行声明。

如果硬要这样声明的话,我觉得应该是一个个人喜好问题。
作者: pmerofc    时间: 2011-05-14 11:01
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2