变量的声明和定义有什么区别

变量的定义为变量分配地址和存储空间, 变量的声明不分配地址。一个变量可以在多个地方声明, 但是只在一个地方定义。加入extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。

说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间, 如外部变量。

int main() 
{
   extern int A;
   //这是个声明而不是定义,声明A是一个已经定义了的外部变量
   //注意:声明外部变量时可以把变量类型去掉如:extern A;
   dosth(); //执行函数
}
int A; //是定义,定义了A为整型的外部变量

发表评论

后才能评论