| 小谈声明(Declaration)与定义(Definition) | ||||
|
| ||||
| 1、变量的声明有两种情况: 一种是需要建立存储空间的。 例一:
A construct which specifies the name,parameters and return type of a function. For example a function definition would be:
前者是"定义性声明(defining declaration)"或者称为"定义(definition)",而后者是"引用性声明(referncing declaration)" 。从广义的角度来讲 声明中包含着定义,但是并非所有的声明都是定义,例如:int a 它既是声明,同时又是定义。然而对于 extern a 来讲它只是声明不是定义。它可以在同一源程序或不同的源程序中重复声明。一般的情况下我们常常这样叙述,把建立空间的声明称之为"定义",而把不需要建立存储空间称之为"声明"。很明显我们在这里指的声明是范围比较窄的,也就是说非定义性质的声明。
看来定义还是声明有时与编译器的处理也有关系。 外部变量的"定义"与外部变量的"声明"是不相同的,外部变量的定义只能有一次,它的位置是在所有函数之外,而同一个文件中的外部变量声明可以是多次的,它可以在函数之内(哪个函数要用就在那个函数中声明)也可以在函数之外(在外部变量的定义点之前)。系统会根据外部变量的定义(而不是根据外部变量的声明)分配存储空间的。对于外部变量来讲,初始化只能是在"定义"中进行,而不是在"声明"中。 用static来声明一个变量的作用有二: 进一步内容可查看: http://www-ccs.ucsd.edu/c/declare.html |
小谈声明(Declaration)与定义(Definition)
最新推荐文章于 2024-07-15 14:46:01 发布

与定义(Definition)&spm=1001.2101.3001.5002&articleId=6825673&d=1&t=3&u=a7e0db55ab2c4f30a64537614bb2ce0c)
2939

被折叠的 条评论
为什么被折叠?



