今天看見一個程序使用了全局靜態變量,很奇怪既然都全局了爲什麼還用靜態,搜了一下:
全局變量與全局靜態變量的區別: (a)若程序由一個源文件構成時,全局變量與全局靜態變量沒有區別。 (b)若程序由多個源文件構成時,全局變量與全局靜態變量不同:全局靜態變量使得該變量成爲定義該變量的源文件所獨享,即:全局靜態變量對組成該程序的其它源文件是無效的。 (c)具有外部鏈接的靜態;可以在所有源文件裏調用;除了本文件,其他文件可以通過extern的方式引用; 靜態全局變量的作用: (a)不必擔心其它源文件使用相同變量名,彼此相互獨立。 (b)在某源文件中定義的靜態全局變量不能被其他源文件使用或修改。 (c) 只能在本文件中使用!具有內部鏈接的靜態;不允許在其他文件裏調用;
來自:
http://zhidao.baidu.com/link?url=TViurCNlJIqp4zZf6etZjNBtUfB6p9lJZejoXuzefRbF0F3cVOBVLrlXIbZoaaSWeOFfP5Diu7MmMo33wCACs_