2015-03-02 74 views
2

对不起,忘记了,是否可以在C/C++中声明但不定义本地(内部函数)变量?可以在C/C++中声明但不能定义局部变量吗?

看起来是不可能的,因为它是不可能从别的地方访问本地变量一样,但是这个功能。

那么,说什么是正确的:变量应该在使用前“声明”或在使用前“定义”?

+2

你可以做一个'extern'声明函数里面,但不会被绑定到功能范围 – sp2danny 2015-03-02 13:45:40

+1

产品/重复:?是什么的定义和声明的区别(HTTP://计算器。 com/q/1410563/256138) – rubenvb 2015-03-02 13:46:45

+0

是的,我记得这个,'extern'将会是全球性的。在开始学习编程时,关于“正常”变量,即我们正在谈论的变量呢? – Dims 2015-03-02 13:46:56

回答

1

对于局部变量,没有定义的概念。它们只是被声明并根据程序的流程有条件地实例化。

单独声明和定义用于全局变量和函数。

2

对不起,忘记了,是否可以在C/C++中声明但不定义本地(内部函数)变量?

不,本地(块范围)变量只有声明。当程序到达声明时它们被实例化,不需要单独的定义来控制实例化。

然后,说什么是正确的:变量应该在使用前“声明”或在使用前“定义”?

变量和命名实体一般在使用前必须是,声明为。并非所有变量都有单独的定义;如果他们这样做,那么定义通常不需要可用来使用该变量。

全球(命名空间范围)和静态成员变量(取决于使用)需要定义,以确定哪些翻译单元负责实例他们。全局变量也可以与它们的定义,其名称空间或该名称空间内的函数分开声明。

相关问题