C++文件extern和static

0.声明和定义的区别:

    1)声明是在使用之前告诉你有这个东西的存在,但是我并没有

给它分配内存空间,例如在文件开始的函数声明 void fun();

    2)定义是在声明之上并且给它分配内存,数据的内存申请是在这个定义上实现的。函数的定义包括了函数首部和函数体。例如在尾部子函数的实现 void fun(){       cout<"hello world"<<endl;        }

1.一般所有函数的声明都放在源文件的开始位置。

2.带有extern的变量说明是变量的声明,不是变量的定义。例如file1中extern int a;其实是引进其他源文件定义的变量a,并不是它在这儿定义的一个变量。

3.static是仅仅对当前源文件有用的变量定义,对组成该程序的其他源文件是无效的,定义static int a;//默认初始化为0

猜你喜欢

转载自blog.csdn.net/yan_dan/article/details/80890081