static

修飾全局變量

在全局變量前加static,全局變量就被定義成為一個全局靜態變量

特點如下:

1)存儲區:靜態存儲區沒變(靜態存儲區在整個程序運行期間都存在);

2)作用域:全局靜態變量在聲明他的文件之外是不可見的。準確地講從定義之處開始到文件結尾。非靜態全局變量的作用域是整個源程序(多個源文件可以共同使用); 而靜態全局變量則限制了其作用域, 即只在定義該變量的源文件內有效, 在同一源程序的其它源文件中不能使用它。但是在OC中,如果全局靜態變量聲明在.h中,其作用域還是整個源程序。

好處:

1)不會被其他文件所訪問,修改;

2)其他文件中可以使用相同名字的變量,不會發生沖突。

修飾局部變量

在局部變量之前加上關鍵字static,局部變量就被定義成為一個局部靜態變量。

特點如下:

1)存儲區:由棧變為靜態存儲區,生存期為整個源程序;

2)作用域:作用域仍為局部作用域,當定義它的函數或者語句塊結束的時候,作用域隨之結束。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容