C语言中在一个函数中可以声明另一个函数吗(不是定义)?在main里面声明也可以吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中在一个函数中可以声明另一个函数吗(不是定义)?在main里面声明也可以吗?相关的知识,希望对你有一定的参考价值。

一、在不用的地方申明,那作用域也就不同,那么在main里边声明也就只能在main函数里起作用(函数内声明叫局部声明,反之在函数外部声明就叫全局声明)。

二、以如果你声明在外部,那么从申明开始之后的代码都能使用它。

三、对于函数声明,工程上一般都声明在函数外部,且声明在头文件中,以便其它文件也能用,局部函数除外。

补充:

1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

3、二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

参考技术A 很高兴为你回答,希望可以帮到你,
对于你提的问题,你要明白的是作用域,在不用的地方申明,那作用域也就不同,那么在main里边声明也就只能在main函数里起作用(函数内声明叫局部声明,反之在函数外部声明就叫全局声明)。所以如果你声明在外部,那么从申明开始之后的代码都能使用它,以上的还是不行哈。

提示:对于函数声明,工程上一般都声明在函数外部,且声明在头文件中,以便其它文件也能用,局部函数除外。明白吗?不明白可以再问。

C语言中函数为啥可以嵌套定义 ?

取决于编译器.

我在Ubuntu16.04 用默认gcc,在eclipse中测试可以实现嵌套定义.

经测试在函数中定义的函数,在当前作用域可以被调用.

这样一来,c语言貌似具有了一些面向对象的特性,使用起来比较方便

参考技术A C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用。嵌套调用就是某个函数调用另外一个函数(即函数嵌套允许在一个函数中调用另外一个函数)。 参考技术B 函数都是平行的,不可以嵌套定义,可以嵌套调用。 参考技术C C语言不支持函数嵌套定义的,你搞错了吧?本回答被提问者采纳

以上是关于C语言中在一个函数中可以声明另一个函数吗(不是定义)?在main里面声明也可以吗?的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 中在哪自定义全局变量?

C语言中,是不是可以调用其它文件的函数?

C语言中不能在函数里面声明函数吗

Cgo 可以调用在另一个目录中声明的 C 函数吗?

C语言函数定义和说明的格式

C语言中的变量可以在使用之前任何位置进行定义吗