sizeof的用法的一些歸納

2022-02-17 17:07:21 字數 783 閱讀 5325

sizeof(void) 會導致編譯錯誤。因為宣告乙個變數的最重要的作用就是告訴編譯器該變數需要多少的儲存空間,然而void是空型別,編譯器無法確定void型別所需要的儲存空間。

宣告void*在32位的機子上面是 4 位元組的空間, 在64位的機子上面是 8 位元組的空間。

struct a;

struct b;

sizeof(a)  //16

sizeof(b) //24

再來看sizeof(b),第乙個成員a的首位址是0,他的型別是int,因此他的占用位址是0--3,第二個成員是double,他占用8個位元組,由於之前a之占用了4個位元組,為了滿足規則2,是的b的起始位址偏移量是8,占用的位址空間是8--15,第三個資料成員是

int型別,占用4個位元組,由於a和b共占用16個位元組,而c占用16--19位元組,那是不是結構體的大小就是20個位元組呢,

錯誤,規則1的有沿途結構體內的最大資料成員是double型別,因此還要在c的後面填充4個位元組,是的結構體的大小是24個

int fun(int &a, int &b)

int a =3;

int b =5;

cout << sizeof(fun(a,b)) int

a 的值,sizeof根本就不執行函式體

C STL的一些歸納

一 vector使用 之前c語 int arr 定義陣列,它的缺點是陣列的 度不能隨 所欲的改變,c 有 能完全替代陣列的動態陣列 vector它能夠在運 階段設定陣列的 度 在末尾增加新的資料 在中間插 新的值 度意被改變,很好 它在頭 件 vector 也在命名空間 std 所以使 的時候要引 ...

UART的一些歸納

uart是一種通用序列資料匯流排,用於非同步通訊。該匯流排雙向通訊,可以實現全雙工傳輸和接收。在嵌入式設計中,uart用於主機與輔助裝置通訊,如汽車音響與外接ap之間的通訊,與pc機通訊包括與監控偵錯程式和其它器件,如eeprom通訊。它將計算機內部傳送過來的並行資料轉換為輸出的序列資料流。將計算機...

一些型別的sizeof

includeclass a class b class c class d d static void testsizeof std cout bool sizeof sizeof bool 結果 bool sizeof 1 char sizeof 1 int sizeof 4 char data...