值與引用型別

2021-08-21 01:29:31 字數 1147 閱讀 6189

1、ascii編碼:128剛好7個二進位制,0-127,基本的控制字元  數字:48-57;字母:65-97

2、雙位元組字元

3、unicode

4、utf-8:統一轉換格式,與ascii重合部分使用1個位元組,漢字部分使用3個位元組

1、字元所佔位元組

*需考慮的編碼:

*ascii編碼:用於英文本母,數字,英文標點符號。英文本母都是乙個位元組

*雙位元組字元:漢字的編碼規則,與ascii重合部分為乙個字元,其餘都是2個位元組

*unicode編碼(utf-16): 任何字元都是2個位元組

*utf-8編碼:與ascii重合部分使用1個位元組,漢字部分使用3個位元組

2、 有什麼用

*凡是定義變數就要開闢儲存空間,宣告不分配

* var num;        //不分配記憶體

* var num = 123;            //4個位元組

* var num = [1,2,3];   //陣列物件為乙個引用物件,引用物件是數值,將資料儲存在乙個單獨的空間內,該陣列的位址                                               被變數存起來了

*var num = '123';            //4個位元組(三個有效,最後乙個是結束控制符)

1、記憶體邏輯結構圖(多畫圖來分析)

2、值型別的賦值

var num = 123;       var num2 = num;

*值型別賦值的儲存特點,將變數內的資料都拷貝乙份儲存給新的變數那麼記憶體終將有2份資料

3、引用型別的賦值

var o =;        var obj = o;

*賦值就是將變數o中儲存的資料拷貝乙份,然後將該資料賦值給obj;

*記憶體中只儲存乙份

*問題:利用修改obj中的name屬性值會影響o中的值

值型別與引用型別

直白點兒說 值型別就是現金,要用直接用 引用型別是存摺,要用還得先去銀行取現。麥機長 我覺得這話十分形象。宣告乙個值型別變數,編譯器會在棧上分配乙個空間,這個空間對應著該值型別變數,空間裡儲存的就是該變數的值。引用型別的例項分配在堆上,新建乙個引用型別例項,得到的變數值對應的是該例項的記憶體分配位址...

值型別與引用型別

工作許久了,可是對c 中的值型別和引用型別卻一直無法很好的理解。這兩天花了不少時間查詢資料,看文章,終於有所收穫,在此將自己理解整理出來,方便日後自己檢視,同時希望對跟我有一樣困惑的朋友有所幫助。廢話不多說,下面開始說說怎麼理解值型別和引用型別!值型別資料直接在他自身分配到的記憶體中儲存資料,而引用...

值型別與引用型別

自動變數型別是指儲存於該程式 程序 堆疊空間的一種變數型別 注意此時的堆疊空間並不是組合語言上的堆疊,只是它的使用及釋放類似於堆疊的過程 這個變數型別的乙個特點是它在程式執行時存在,在程式結束時消失。正是這個過程類似於彙編裡棧的操作,所以才將其命名 處理 為堆疊。我們平時所定義的int之類的型別都屬...