數組長度用size還是length(數組長度)

導讀您好,現在軟糖來為大家解答以上的問題。數組長度用size還是length,數組長度相信很多小伙伴還不知道,現在讓我們一起來看看吧!1、c語言中,...

您好,現在軟糖來為大家解答以上的問題。數組長度用size還是length,數組長度相信很多小伙伴還不知道,現在讓我們一起來看看吧!

1、c語言中,定義數組后可以用sizeof命令獲得數組的長度(可容納元素個數)如:int?data[4];int?length;length=sizeof(data)/sizeof(data[0]);??//數組占內存總空間,除以單個元素占內存空間大小printf("length?of?data[4]=%d",?length?);?//輸出length?of?data[4]=4}但,通過傳遞數組名參數到子函數中,以獲得數組長度是不可行的。

2、如:int?getLength(int[]?a)int?length;length=sizeof(a)/sizeof(a[0]);?//這樣是錯誤的,得到的結果永遠是1return?length;}因為,a是函數參數,到了本函數中,a只是一個指針(地址,系統在本函數運行時,是不知道a所表示的地址有多大的數據存儲空間,這里只是告訴函數:一個數據存儲空間首地址),所以,sizoef(a)的結果是指針變量a占內存的大小,一般在32位機上是4個字節。

3、a[0]是int類型,sizeof(a[0])也是4個字節,所以,結果永遠是1。

4、因此,獲得數組長度,只能在數組定義所在的代碼區中,采用以上方法,才可以達到效果。

5、拓展資料:數組特點:數組是相同數據類型的元素的集合。

6、數組中的各元素的存儲是有先后順序的,它們在內存中按照這個先后順序連續存放在一起。

7、數組元素用整個數組的名字和它自己在數組中的順序位置來表示。

8、例如,a[0]表示名字為a的數組中的第一個元素,a[1]代表數組a的第二個元素,以此類推。

9、對于VB的數組,表示數組元素時應注意:下標要緊跟在數組名后,而且用圓括號括起來(不能用其他括號)。

10、下標可以是常量,變量,或表達式,但其值必須是整數(如果是小數將四舍五入為整數)。

11、下標必須為一段連續的整數,其最小值成為下界,其最大值成為上界。

12、不加說明時下界值默認為1。

本文就為大家分享到這里,希望小伙伴們會喜歡。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!