C 中的值型別以及Static關鍵字

2021-09-02 19:17:42 字數 616 閱讀 3596

說到static關鍵字之前我們不得不說說c#中的值的型別(當然,在c++中就不存在這一說法,在c++要麼就會通過指標或者引用符號作為傳參來完成),在c#中值的型別分為值型別和引用型別兩種。

一、引用型別

首先說引用型別,引用型別就是不另外建立內存在儲存,而是將變數指向乙個確定的堆(系統分配的記憶體),需要人為的申請(一般都是用new來完成)和人為的清除。而值型別則是由系統自動管理(包括**)

引用型別常見的就是我們使用最多的類。當然也包括陣列,介面,委託;

二、值型別

除上述所述的型別外一般都屬於值型別了,值型別的特點是便於對常用型別進行管理,所以,c#常用的資料類(int float 等都屬於值型別,包括列舉,結構體)。這裡要重點注意,雖然結構體和類有很多相似之處但結構體屬於值型別。

三、靜態變數

使用 static 修飾符宣告屬於型別本身而不是屬於特定物件的靜態成員static修飾符可用於類、字段、方法、屬性、運算子、事件和建構函式,但不能用於索引器、析構函式或類以外的型別

也就是說,如果乙個類的靜態變數或者方法,都是可以不例項化這個類就可以直接訪問的。

四、例項變數

很明顯,這種變數一定是要在類例項化後才能夠使用。也就是說,它是沒有static關鍵字修飾的。

C 中的值型別和引用型別以及堆疊

引用型別如 string,object,class等總是在從託管堆上分配的,c 中new操作符返回物件的記憶體位址 也就是指向物件資料的記憶體位址。以下是值型別與引用型別的表 我們來看下面一段 首先在類中宣告乙個class類,和乙個struct結構,如圖 並使用在程式入口呼叫它們,如圖 現在我們來看...

c 中的靜態型別 static

static根據上下文語意有兩種含義,一種是在類和結構體內,另一種時類在結構體外。類外的static在鏈結階段是區域性的,它只對它的編譯單元 obj 可見,而類內的static表示這個變數將在類內與所有例項共享 static.cpp static int s variable 5 main.cpp ...

C以及C 中的static用法講解

c語言中static 關鍵字用處分為兩類 變數和函式。而在c 中,static關鍵字同時還具有物件導向的作用 1.區域性變數 普通區域性變數 不加static修飾 編譯器一般不對普通區域性變數進行初始化,也就是說它的值在初始時不確定,除非對其顯式賦值。普通區域性變數存在進行棧中,使用完立即釋放。靜態...