C++學習筆記:C/C++中static關鍵詞有用途

C語言中:static關鍵詞有三種用途

1.靜態局部變量

特色:函數

  1. 該變量在全局數據區分配內存(局部變量在棧區分配內存)對象

  2. 靜態局部變量在程序執行到該對象的聲明處時被首次初始化,之後不會再進行初始化內存

  3. 若是沒有顯式初始化,會被程序自動初始化爲0(局部變量不會被初始化)作用域

  4. 靜態局部變量始終留在全局數據區明知道程序結束,但做用域始終在局部做用域中。變量

2.靜態局部變量

特色:程序

  1. 靜態全局變量不能被其餘文件所用(全局變量能夠)數據

  2. 其餘文件中能夠定義相同名字的變量,不會衝突(由於static做用於文件)static

3. 靜態函數

特色:語言

  1. 靜態函數不能被其餘文件所用(extern)文件

  2. 不一樣文件定義相同靜態函數不會發生衝突

C++語言中:static關鍵詞有兩種用途

1.靜態數據成員

特色:

  1. 分配在全局數據區,不佔用對象內存空間

  2. 靜態數據成員只初始化一次

2.靜態成員函數

特色:

  1. 靜態成員之間能夠相互訪問

  2. 非靜態成員函數能夠任意訪問靜態成員函數和靜態數據成員

  3. 靜態成員函數不能訪問成員函數和成員變量

相關文章
相關標籤/搜索