sizeof 和位元組計算 的愛恨情仇

2021-08-18 13:25:24 字數 512 閱讀 2572

在學習中經常遇到 byte的處理 甚至關於bit的處理,還有涉及到結構體強制轉化,分析位元組占用記憶體的問題,

每次分析重頭再來,耗費時間,於是將 位元組的大小 整理歸納

用法

sizeof(型別說明符,陣列名或表示式);

sizeof (變數名);

//64bit 作業系統 sizeof 計算

intmain

(int argc,

char

const

*argv)

;struct mystruct mystruct;

printf

("mystruct %ld\n"

,sizeof

(mystruct));

//因為位元組對齊 所以16 而不是13

typedef

struct

test;

}

sizeof位元組計算

1 pragma pack 2 2classbu3 ubuf 10void foo 11 typedef char f void 12enum disk 13 bu 求sizeof bu 的值 pragma pack 2 class bu ubuf union的大小取決於它所有的成員中,占用空間最大...

strlen和sizeof的愛恨情仇

在平時寫 的時候,我們經常會用sizeof和strlen來求取陣列和字串的長度,這兩個在功能上比較相似,但在原理上是不一樣的。strlen sizeof 陣列做 sizeof 的引數不退化,但傳遞給strlen就退化為指標了。陣列作為引數傳給函式時傳的是指標而不是陣列,傳遞的是陣列的首位址。下面舉個...

SPI介面和CS品牌SD NAND的「愛恨情仇」

之前講過一些客戶如何通過spi口來使用sd nand,最近這一對本身交集並不多的介面又糾結到一起了,到底是什麼情況呢?有位客戶找到我們,他們的cpu本身是支援spi口啟動的,但是由於一些特殊原因,這個口被占用了,而客戶同時有需要大容量的儲存晶元做本地儲存。我們總結了一下,這位客戶需要的一款大容量 非...