1.靜態變數是存放在全域性資料區中的,sizeof計算棧中分配的大小,所以類或結構體中的靜態變數時不會計算在sizeof內的!
2.sizeof和strlen的區別:
(1)sizeof操作符的結果型別是size_t,它在標頭檔案中的typedef為unsigned int型別。該型別保證能容納實現所建立的物件的位元組大小。
(2)sizeof是運算子。strlen是函式。
(3)sizeof可以用型別做引數,strlen只能用char*做引數,且必須是以「\0」結尾的。sizeof還可以用函式做引數。
(4)陣列做sizeof的引數不退化,傳遞給strlen就退化為指標。
(5)在大部分編譯器中,sizeof在編譯的時候就已經計算過了,是型別或變數佔記憶體的大小。
(6)strlen的結果要在執行的時候才能計算出來,用來計算字串的長度,而不是佔記憶體的大小。
(7)sizeof後如果是型別必須加括號,如果是變數名則可以不加。
(8)sizeof操作符不能返回被動態分配的陣列或外部的陣列的尺寸。
(9)陣列作為引數傳給函式時傳的事指標而不是陣列。
(10)計算結構變數的大小就必須討論資料對齊問題。
(11)sizeof操作符不能用於函式型別,不完全型別或位字段。
3.乙個空類所佔空間為1,多重繼承的空類所佔空間還是1,但是虛繼承涉及到虛表(虛指標),所以sizeof值為4.
acm 點點滴滴
qsort排序方法 六種qsort排序方法 本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 ...
Elastic search點點滴滴
在打造集中化日誌那篇中,稍微提了下elastic search。elk打造集中化日誌 elastic search是elk的核心,寫的時候重點也放在它上面,不過還是覺得深度挖掘得不是太夠,所以決定再另寫一篇重點介紹下elastic search。正如elastic的本義一樣,es就是為擴充套件而生,...
Git 點點滴滴
用 git diff 檢視,發現是 git diff util webkit mkdist webkit diff git a util webkit mkdist webkit b util webkit mkdist webkit old mode 100755 new mode 100644原...