sizeof 點點滴滴

2021-06-20 00:33:35 字數 690 閱讀 6102

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原...