c中变量的存储期限、作用域和链接

0.1.1 变量的性质

在c中变量有三种性质:
1、存储期限:变量的存储期限决定了变量占用的内存空间什么时候会被释放,具有动态存储期限的变量会在所属的程序块被执行时获得内存空间,在结束时释放内存空间。具有静态存储期限的变量在程序运行的整个期间都会占用内存空间。
2、作用域:变量有块作用域也有文件作用域,结合序章第一张图可以明白块作用域是在某些程序块内起作用,文件作用域是在整个c文件之内起作用。
3、链接:链接是各个文件之间的关系,具有内部链接的变量只在本文件内起作用,具有外部链接的变量可以在不同文件内起作用。具有无链接的变量只在某一个文件的某个函数内起作用。

有人会问作用域和链接之间的区别到底是什么?,先看看c程序执行的过程:
c中变量的存储期限、作用域和链接
作用域是为编译器服务的,链接是为链接服务的,其他的先不管,先看看这个叫编译器(记住能写编译器的都是神仙)的东西,可以这么说,她就是你的妈妈,她会把你的代码一一检查完,,总有人说程序员是孤独的,其实也不尽然,总归还有妈妈(编译器)陪着你!但是编译器帮你检查也得有一套原则不是,这套原则就是咱们平时敲代码要时刻遵守的,本章先看一下有关变量的原则。