C中的变量声明概念

时间:2017-04-18 08:11:07

标签: c variable-declaration

如果我们声明C内存中的变量是为该变量分配的,或者不是。我的假设是,如果我们声明变量内存是为该变量分配的,但我今天在一些站点研究过,当我们声明时,内存不会分配给变量。      可以帮助我澄清这个疑问。

2 个答案:

答案 0 :(得分:3)

变量声明只告诉编译器变量存在,它有什么类型及其名称。

另一方面,变量定义实际上会导致编译器为变量分配空间。

通常情况下,变量声明和定义同时发生,这就是为什么通常会对这两者产生一些混淆,以及为什么两者通常只被称为"声明"。

作为一个脚注,上面并不是完整的故事,还有暂定定义之类的东西,可以是声明定义。对于没有初始化的全局变量,这是常见的。

答案 1 :(得分:2)

声明永远不会为变量分配内存,通常是让编译器知道“类型”(要求)。

相反,定义是分配实际内存的位置。

这就是为什么,同一个变量可以多次声明(只要它们不与以前的类型冲突),但不能多次定义。