您好,現(xiàn)在蔡蔡來為大家解答以上的問題。數(shù)組長度是什么,數(shù)組長度相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!
1、c語言中,定義數(shù)組后可以用sizeof命令獲得數(shù)組的長度(可容納元素個數(shù))如:{int?data[4];int?length;length=sizeof(data)/sizeof(data[0]);??//數(shù)組占內(nèi)存總空間,除以單個元素占內(nèi)存空間大小printf("length?of?data[4]=%d",?length?);?//輸出length?of?data[4]=4}但,通過傳遞數(shù)組名參數(shù)到子函數(shù)中,以獲得數(shù)組長度是不可行的。
2、如:int?getLength(int[]?a){int?length;length=sizeof(a)/sizeof(a[0]);?//這樣是錯誤的,得到的結(jié)果永遠(yuǎn)是1return?length;}因為,a是函數(shù)參數(shù),到了本函數(shù)中,a只是一個指針(地址,系統(tǒng)在本函數(shù)運行時,是不知道a所表示的地址有多大的數(shù)據(jù)存儲空間,這里只是告訴函數(shù):一個數(shù)據(jù)存儲空間首地址),所以,sizoef(a)的結(jié)果是指針變量a占內(nèi)存的大小,一般在32位機上是4個字節(jié)。
3、a[0]是int類型,sizeof(a[0])也是4個字節(jié),所以,結(jié)果永遠(yuǎn)是1。
4、因此,獲得數(shù)組長度,只能在數(shù)組定義所在的代碼區(qū)中,采用以上方法,才可以達(dá)到效果。
5、拓展資料:數(shù)組特點:數(shù)組是相同數(shù)據(jù)類型的元素的集合。
6、數(shù)組中的各元素的存儲是有先后順序的,它們在內(nèi)存中按照這個先后順序連續(xù)存放在一起。
7、數(shù)組元素用整個數(shù)組的名字和它自己在數(shù)組中的順序位置來表示。
8、例如,a[0]表示名字為a的數(shù)組中的第一個元素,a[1]代表數(shù)組a的第二個元素,以此類推。
9、對于VB的數(shù)組,表示數(shù)組元素時應(yīng)注意:下標(biāo)要緊跟在數(shù)組名后,而且用圓括號括起來(不能用其他括號)。
10、下標(biāo)可以是常量,變量,或表達(dá)式,但其值必須是整數(shù)(如果是小數(shù)將四舍五入為整數(shù))。
11、下標(biāo)必須為一段連續(xù)的整數(shù),其最小值成為下界,其最大值成為上界。
12、不加說明時下界值默認(rèn)為1。
本文就為大家分享到這里,希望小伙伴們會喜歡。