sizeof定義:用於計算資料型別所佔的位元組數。ok,說道資料型別所佔位元組數,那就總結下:
char 字元型 在記憶體佔乙個位元組,表示範圍 0~2的7次方
int 整形 在記憶體佔四個位元組 ,表示範圍-2的31次方到2的31次方
float 單精度型別浮點型 在記憶體佔 4個位元組,表示範圍 7位有效數字
void 空值 在記憶體佔0位元組 ,無值
double 在記憶體佔8個位元組,絕對值範圍10(-37)~10(38)
言歸正傳,接著說sizeof。
sizeof可以用於資料型別也可以用於變數,比如sizeof(int)就是4個位元組;再比如char a;sizeof (a)是1位元組。
好,下面看個程式:
#include
struct x;
void main()
printf("%d",sizeof(struct x));
答案16.為什麼呢?補齊原則。有些人可能認為答案是10,如果那樣的畫系統會乙個位元組 乙個位元組取,效率太低了,為了提高效率char b要與int a一樣,補4個位元組,
後面同理。問題來了,如果是struct x;答案就是12啦,第二個char補4個位元組,自己用乙個剩下3個,後面char照樣可以使用前面1個位元組。但後面int需要4個位元組,剩餘2個位元組不能滿足了,所以需要額外開4個位元組。好了答案12出來了。還有個實驗就是structx;答案是8.從中我們可以看出,系統從前向後檢視找到位元組數最大的,然後從頭補齊,第乙個char4個位元組,後面兩個char享受前面剩餘3個位元組中的2個,後面int d位元組開4個位元組。
以上是個人看法,可能有些不專業,希望看到此篇文章朋友多多交流,提出寶貴的想法。
HTTP那些小事
這是一篇資訊整理文章,可以當作工具來看 http全稱是超文字傳輸協議,構建於tcp之上,屬於應用層協議。請求或響應在傳輸途中,遭攻擊者攔截並篡改內容的攻擊被稱為中間人攻擊 man in the middle attack,mitm https是在通訊介面部分用 tls transport layer...
const的那些小事
關於const 為什麼需要const?請看以下語句 for int index 0 index 512 index 在此語句中有兩個問題 1 512這個常量含義不明確,也並不清楚index與512比較有什麼作用 2 假如在程式中多次使用到512這個常量時,在後來的工作需要把512改為111的話修改的...
談談React那些小事
而對於react的開發者來說,如何利用react構建現代化的前端專案,產出高質量的前端 才是學習react的重點。所以本文就我自己平時利用react開發專案的經驗和個人見解,來談談在react專案中需要了解和容易忽略的 小事 俗話說 千里之堤毀於蟻穴 在react開發中我們不能忙於進度而忽視了細節。...