sizeof()(1)

sizeof函數:

求的是字節數,如int型在32平臺下是4個字節,char是1個字節,任何類型的指針都是4個字節。

stelen函數:

求的是字符串的長度,不包括'\0'。

以下是用在一維數組和二維數組中區別兩個函數的例子:

(1)一維數組

	int a[] = { 1, 2, 3, 4 };  
	printf("%d\n", sizeof(a)); 
	printf("%d\n", sizeof(a + 0));
	printf("%d\n", sizeof(*a));
	printf("%d\n", sizeof(a + 1));
	printf("%d\n", sizeof(a[1]));
	printf("%d\n", sizeof(&a)); 
	printf("%d\n", sizeof(&a + 1));
	printf("%d\n", sizeof(&a[0]));
	printf("%d\n", sizeof(&a[0] + 1));

輸出結果:

16

4

4

4

4

4

4

4

請按任意鍵繼續. . .

解析:

(2)二維數組

        int a[3][4] = { 0 };
	printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(a[0][0]));
	printf("%d\n", sizeof(a[0]));
	printf("%d\n", sizeof(a[0] + 1));
	printf("%d\n", sizeof(a + 1));
	printf("%d\n", sizeof(&a[0] + 1));
	printf("%d\n", sizeof(*a));
	printf("%d\n", sizeof(a[3]));

輸出結果:

48

4

16

4

4

4

16

16

請按任意鍵繼續. . .

解析看下篇  sizeof()與strlen()(2)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章