C 學習筆記 對static的重新認識

2021-06-01 09:02:13 字數 773 閱讀 6875

static 這個修飾詞的意思,是為 靜態;在工作所用到的c工程中,時常看到其使用,但一直沒有太深的認識,最近在看了c++語言描述後,其中對與class類的成員定義中,有個更詳細的static修飾用法,使得我對static的認識比之之前更多了些。

在我的c檔案中,我在一開始認為:對於全域性變數才用static來修飾,以便對於其進行固定,不會隨意變動;後來在對函式呼叫時,我也時不時的使用它來修飾,完全是照搬已有的函式定義寫法來定義的,於是,經常在我在其他檔案呼叫該函式時,編譯總會有錯誤,說找不到相關函式,即便我已經在本檔案開頭進行extern宣告,而有的時候則完全不行,完全不知道為什麼。在後來,對於新定義的函式,都基本不用static進行修飾,只對變數進行修飾,這樣一來,似乎錯誤少了很多,也就不了了之了。

最近在進行c++學習中,有一章節有介紹static,主要是用在class上。它說,定義了乙個static變數,對於這整個類來說,是唯一的,不是沒建立一次物件,就有乙個static變數,舉個例子來說:

class z
在這裡,a是區域性變數,對於每個z類的物件,a有屬於它自己的值;然而對於static修飾的s,則是大家公用,一次呼叫就一次增加。
同樣的,這讓我聯想到我之前在c檔案中對static的用法,有了乙個更加清晰的認識,對於乙個用static修飾的變數/函式來說,它只能在本檔案中進行使用,若是在其他檔案進行呼叫時,則應該把這個修飾去掉,免得限定了這個函式/變數的使用範圍,一直對「靜態的」難以理解,現在總算是有了乙個方面的理解吧。

static學習筆記

驀然發現,腦子裡對關鍵字static是一灘漿糊,只知道是表示靜態,具體該用在什麼場合,用了有什麼好處和壞處等,說不清道不明。作為開發人員真汗顏啊。趕緊學習一下 static 修飾符可用於類 字段 方法 屬性 運算子 事件和建構函式,但不能用於索引器 析構函式或類以外的型別。靜態類 1.僅包含靜態成員...

C 學習筆記34 類的static成員

靜態成員 不是任意物件的組成部分,但由給定類的全體物件所共享的資料成員或函式成員。靜態成員是與類關聯的物件,而不是像普通的成員那樣與類的物件相關聯。靜態成員可以是資料成員,或成員函式。靜態成員遵循正常的共有 私有訪問規則。通過關鍵字static宣告靜態成員。靜態資料成員必須在類定義體的外部定義,且只...

學習筆記 static的作用

1.static的作用 1 限制變數的作用域。2 設定變數的儲存域 在函式體,乙個被申明為靜態的變數在這乙個函式被呼叫的過程中維持值不變。void changeage 在模組內 但在函式體外 乙個被申明為靜態變數可以被模組內所有函式訪問,但不能被其他模組內的函式訪問 import person.h ...