sizeof
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站制作、成都網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的陳巴爾虎網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
sizeof常用于統(tǒng)計數(shù)據(jù)類型大小,如:int,double,char,float等等。但是它的統(tǒng)計通過一個實
驗,讓我有了不可思議的發(fā)現(xiàn),平常我們可以用sizeof(int)來測試,int類型占用內存是不是4個byte.
對于統(tǒng)計字符串,感覺上是沒有統(tǒng)計最后的'\0';事實驗證確實沒有統(tǒng)計如:
char zifu[] = {W,e,i,x,i,a,n,g,f,e,i}
利用sizeof(zifu)或sizeof zifu統(tǒng)計第一個字符直到最后一個字符占用的總大小,具體的解釋是:
sizeof統(tǒng)計以字符串zifu指針指向第一個字符占用空間大小開始的數(shù)組,直到遇見'\0'才停止;之所以
這樣認為,是因為sizeof(zifu+1)的結果是2倍的sizeof zifu[0];
現(xiàn)有數(shù)組const int days[10] = {36,28,31,30,31,31,30,31};
int index;
現(xiàn)在sizeof days = 40;
sizeof (days+1) = 8;
sizeof days+1 = 41;
sizeof days[0] = 4;
sizeof days+1/days[0] = 40;
sizeof (days +1) = 8;
現(xiàn)在想想這個問題為什么sizeof days+1 = 41;days[0] = 4;兩整型書相除不是應該為10的嗎?
為什么sizeof days+1/days[0] = 40;?