- 一、简介
- 二、linkage
- 三、extern
程序中变量有:
- automatic variable:作用域在代码块,stack存储,自动分配或者释放
- static variable:作用域在整个工程或者文件,
- dynamic variable:new分配的变量
int global = 1000; // static duration, external linkage
static int one_file = 50; // static duration, internal linkage
int main()
{
...
}
void funct1(int n)
{
static int count = 0; // static duration, no linkage
int llama = 0;
...
}
void funct2(int q)
{
...
}
特别注意:funct1里面的count不能在main中使用,这个相当于是函数定义了这个变量之后,这个值一直保持,下次调用的时候也使用count的值,不会再重复定义和赋值。
前者没有分配内存,只是声明这是个外部变量,后者在声明的时候进行了初始化,那么就分配对应的内存并初始化
extern int blem; // blem defined elsewhere
extern char gr = 'z'; // definition because initialized
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)