【发布时间】:2020-10-23 07:12:25
【问题描述】:
所以我一直在尝试自学 C。所以只有几个视频和文章以及我身边的一本书。虽然这听起来像是一个简单的概念(我敢肯定),但我认为这个概念对我来说并不清晰。
您能否引用一个变量声明或定义的例子?(一起和分开)
就像我读到的一些文章或论坛中所说的那样
int x; (已声明 x)
写在某处
int x; (定义了 x)。
内存何时分配给变量? 又在某处说必须首先定义变量才能分配内存,而在某处说它是在声明变量时分配的?
【问题讨论】:
-
int x;始终是一个定义 -
基本上... declare:告诉编译器变量存在并且具有定义的类型,例如:
int foobar;。链接器将找出它存在的哪里。 define 告诉编译器变量存在here 并具有特定值,例如:int foobar = -42; -
@pmg 你的两种情况都是定义;一个有一个初始化器(提供一个初始值对存储类或其他什么没有影响)
-
对,第一个是“暂定定义” :)
-
论坛上很多人混淆了单词,所以请小心。如果你想要确定性,你需要阅读标准。当涉及到这些问题时,许多 C 类书籍的质量令人怀疑。
标签: c variables memory-management definition variable-declaration