sizeof在程式中的深層剖析

2021-08-11 12:25:22 字數 688 閱讀 4791

程式如下:
#include#include#includeint main()

; char a[5]=;

char*p=a;

printf("%d,%d,%d,%d,%d,%d\n",sizeof(a),sizeof(b),sizeof(p),sizeof(char *),sizeof(*a),sizeof(a)/sizeof(*a));

}
5

2044

15

剖析:sizeof(a):陣列a[5]的型別是char型別,在記憶體佔乙個位元組,根據sizeof的計算法則:記憶體大小乘以型別大小,即:5*1=5.所以列印結果為5.

sizeof (b):陣列b[5]是int型別,根據sizeof的計算法則得:列印結果為:20.

sizeof(p):p為指標,對於指標來說在32位pc機中,它只佔4個位元組,所以列印結果為:4.

sizeof(char*):char*為指標型別,同理它在記憶體中佔4個位元組。

sizeof(*a);a的資料型別為char,佔1個位元組,指標p指向a,表示的是它指向的型別大小,所以列印結果為:1.

sizeof(a)/sizeof(*a):這個式子,其實可以作為公式來記,它用來計算陣列長度,

剖析touch事件在View中的傳遞

話不多說,直奔主題,先來看一張圖 然後簡單說明下 總的來說,觸控事件是從最外層的viewgroup,一級一級傳遞進來的 事件傳遞到乙個view viewgroup 先 到dispatchtouchevent 方法,這裡如果不super的話,就直接只執行當前 了,super的話,到onintercep...

sizeof函式的使用及其在DSP中的應用

3 dsp中sizeof的用法 4 sizeof的用法問題 5 其他相關問題 sizeof是c c 中的乙個操作符 operator 簡單的說其作用就是返回乙個物件或者型別所佔的記憶體位元組數。c語言中,對 sizeof 的處理都是在編譯階段進行,所以它可以被當作常量表示式使用。其作用就是返回乙個物...

剖析WINX的Hello程式

我們已經介紹了windows sdk的hello程式,它的流程主要分為三個步驟 註冊視窗類 registerclass 並且我們詳細解釋了為何要有視窗類,為何要registerclass。建立並顯示視窗 createwindow and showwindow 訊息迴圈 messageloop 即 取...