static变量和extern变量

来源:互联网 发布:超级软件txt下载 编辑:程序博客网 时间:2024/06/05 11:27
   (1)静态全局变量也是全局变量,编译连接之后全部放到全局数据域,只不过访问域不同。
  (2)如果static放到头文件中, 每 个包含了该头文件的C文件在连接时 都会在全局数据域申请一块空间。而extern类型定义的变量只会在全局数据域一块空间,在所有的C文件中共享。
  (3)同时,static变量是没有申明的概念的,所用之处全部是定义,所以不能重复包含两次头文件(即不能使用同样的名字定义变量)。所谓定义就是直接在编译连接的时候会直接为之生成空间,而不是先使用符号引用一下,然后再地址回填(extern变量是这样干的)。
  (4)使用extern申明变量的含义是:we will use the variable in current filewhich is defined in other file.
0 0
原创粉丝点击