文章目錄
- 概述
- 一、定義介紹
- 二、功能作用
- (一)static修飾全局變量
- (二)static修飾局部變量
- (三)static修飾成員變量
- (四)static修飾全局函數
- (五)static修飾成員函數
- 三、代碼實例
- (一)static初始化被多次調用
概述
??本節詳細介紹了static修飾符的原理及用法。包括在變量、函數、類內等不同地方的用法。
一、定義介紹
??static是C/C++中的靜態修飾符,不需要包含頭文件。static可以用于修飾:局部變量、全局變量、函數、類成員變量、類成員函數等。static修飾的數據在內存中都存放于全局區(一般數據根據是全局還是局部有可能放全局區,有可能放棧區),因此只要程序不結束,該區數據就不會被釋放。此外,被static修飾的變量和函數只能在該文件中訪問,不能在其他文件中訪問。
??如果你只聲明了一個靜態變量但沒有初始化,由于它將會存在于全局未初始化區,而該區域會在程序開始前自動給未初始化的變量初始化為0,因此,聲明過的靜態變量如果程序員沒有初始化,那它會被自動初始化為0,且時間是在程序執行之前。