#include
int main()
;printf("%d\n",sizeof(a)); // 16 輸出的結果為16,定義為int型的變數,每位有四個位元組,sizeof求的是總的位元組個數為16
printf("%d\n",sizeof(a+0)); // 4 a代表的是首元素位址,a+0還是代表a,所以輸出的是首元素的位元組長度
printf("%d\n",sizeof(*a)); // 4 *a代表的是首元素的大小 ,為int型別所以為4個位元組
printf("%d\n",sizeof(a+1)); // 4 a是首元素的位址,而a+1代表的是第二個元素,所以大小為4
printf("%d\n",sizeof(a[1])); // 4 a[1]代表的是第二個元素的大小
printf("%d\n",sizeof(&a)); //4 但是在vc中存在bug,所以顯示為16.其意思為取位址,取位址後,因為是乙個位址所以為4個位元組
printf("%d\n",sizeof(&a+1)); //4 取位址,也為4個位元組
printf("%d\n",sizeof(&a[0])); // 4 為首元素的位址
printf("%d\n",sizeof(&a[0]+1)); // 4 為乙個元素的位址所以為4個位元組
return 0;
}
二維陣列中的sizeof以及其他的東西
#include
int main()
;printf("%d\n",sizeof(a)); //陣列名代表整個陣列的長度則為3*4*4=48
printf("%d\n",sizeof(a[0][0])); //代表第乙個元素,乙個整型,所以為4
printf("%d\n",sizeof(a[0])); //代表第0行,為四個元素所以為4*4=16
printf("%d\n",sizeof(a[0]+1)); //a[0]代表的是a[0[0]的位址,而a[0]+1代表的是a[0][1]的位址所以為4
printf("%d\n",sizeof(a+1)); //代表乙個陣列的位址為4
printf("%d\n",sizeof(&a[0]+1));//代表乙個陣列的位址為4
printf("%d\n",sizeof(*a)); //代表大小為4的一維陣列,4*4=16
printf("%d\n",sizeof(a[3]));//代表一行的大小為16
return 0;
}
sizeof和strlen區別與不同
sizeof是乙個 操作符關鍵字,返回的結果為 size t typedef unsigned int size t sizeof的引數可以是資料型別,也可以是變數,無論是變數還是資料型別,都會轉化為資料型別作為引數,因為在c語言中變數是有型別的。發生在編譯時候就計算出了sizeof結果 sizeo...
sizeof與strlen的不同
sizeof操作符的結果型別是size t,它在標頭檔案中typedef為unsigned int型別。該型別保證能容納實現所建立的最大物件的位元組大小。sizeof是算符,strlen是函式。sizeof可以用型別做引數,strlen只能用char 做引數,且必須是以 0 結尾的。sizeof還可...
LikeLib 連線不同區塊鏈的跨鏈技術介紹
如果說共識機制是區塊鏈的靈魂核心,跨鏈技術就是實現價值網路的關鍵,是區塊鏈向外拓展和連線的橋梁。而likelib支援側鏈註冊接入,主鏈與側鏈使用跨鏈共識驗證區塊和交易 likelib代幣可以在likelib主鏈和側鏈之間流通,側鏈向主鏈報備區塊頭,主鏈審計側鏈的區塊。一 跨鏈共識域 c3d cros...