新聞中心
c語言獲得數(shù)組的長度
1、c語言中,定義數(shù)組后可以用sizeof命令獲得數(shù)組的長度(可容納元素個數(shù))。
創(chuàng)新互聯(lián)建站專注于樂陵網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供樂陵營銷型網站建設,樂陵網站制作、樂陵網頁設計、樂陵網站官網定制、微信小程序定制開發(fā)服務,打造樂陵網絡公司原創(chuàng)品牌,更為您提供樂陵網站排名全網營銷落地服務。
例如:
double a[] = {1,2,3,4};
int length;
length=sizeof(a)/sizeof(a[0]); //數(shù)組占內存總空間,除以單個元素占內存空間大小
printf(“l(fā)ength of a=%d”, length ); //輸出length of a=4
2、但是,通過傳遞數(shù)組名參數(shù)到子函數(shù)中,以獲得數(shù)組長度是不可行的。
例如:
int getLength(int a[]){
int length;
length=sizeof(a)/sizeof(a[0]); //這樣是錯誤的,得到的結果永遠是1
return length;
}
因為,a是函數(shù)參數(shù),到了本函數(shù)中,a只是一個指針(地址,系統(tǒng)在本函數(shù)運行時,是不知道a所表示的地址有多大的數(shù)據(jù)存儲空間,這里只是告訴函數(shù):一個數(shù)據(jù)存儲空間首地址),所以,sizoef(a)的結果是指針變量a占內存的大小,一般在32位機上是4個字節(jié)。a[0]是int類型,sizeof(a[0])也是4個字節(jié),所以,結果永遠是1。
3、因此,獲得數(shù)組長度,只能在數(shù)組定義所在的代碼區(qū)中,采用以上方法,才可以達到效果
C語言中計算數(shù)組長度的方法是什么
用 sizeof 可以獲得數(shù)據(jù)類型或變量在內存中所占的字節(jié)數(shù)。同樣,用 sizeof 也可以獲得整個數(shù)組在內存中所占的字節(jié)數(shù)。因為數(shù)組中每個元素的類型都是一樣的,在內存中所占的字節(jié)數(shù)都是相同的,所以總的字節(jié)數(shù)除以一個元素所占的字節(jié)數(shù)就是數(shù)組的長度。
比較特別的是,比特右移()運算符可以是算術(左端補最高有效位)或是邏輯(左端補0)位移。例如,將11100011右移3比特,算術右移后成為11111100,邏輯右移則為00011100。
運算符的優(yōu)先級從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
C語言特點:
其一,廣泛性。C語言的運算范圍的大小直接決定了其優(yōu)劣性。C語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。
其二,簡潔性。9類控制語句和32個關鍵字是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同時還能夠支持高級編程,避免了語言切換的繁瑣。
C語言,數(shù)組用什么函數(shù),計算數(shù)組長度
沒有這樣的函數(shù),因為C語言面向的是程序員,所有程序內部邏輯要程序員自己控制,數(shù)組是否越界的判斷要交給程序員自己做。
如果是字符串,可以使用strlen函數(shù)計算字符串長度,不包含最后的結束符。
當前標題:c語言數(shù)組的長度函數(shù) c語言中數(shù)組長度函數(shù)
鏈接地址:http://www.dlmjj.cn/article/doijsip.html