把建立存储空间的变量声明称定义;
不需要建立存储空间的声明称为声明;
c为例,
在函数中出现的对变量的声明(除了用extern声明的以外)都是定义
在函数中对其他函数的声明不是函数的定义
详细见c程序设计-谭浩强 196-197页
extern:
是对外部变量作用域的扩展,可以在本文件扩展,
int main(){
extern a;
}
...
int a;
void e(){...}
还可以通过extern a的声明在file2文件使用,但是在file2影响的a也会反馈到file1中.
而不想别的文件调用,只需要加static,使得局限于file1文件中。
这样道理同函数,但需要知道的是extern v(int a);
可以省略,即 v(int a);
,也就是说函数默认就是外部函数,加了static是内部函数,不能被其它文件引用,并且又叫静态函数