您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹C語言獲取數(shù)組長度的方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
所謂數(shù)組,是有序的元素序列。數(shù)組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按無序的形式組織起來的一種形式。這些無序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。
在程序中合理地使用數(shù)組,會使程序的結(jié)構(gòu)比較整齊,而且可以把較為復雜的運算,轉(zhuǎn)化成簡單的數(shù)組來表示。
一、使用規(guī)則:
1、可以只給部分元素賦初值。當{ }中值的個數(shù)少于元素個數(shù)時,只給前面部分元素賦值。
2、只能給元素逐個賦值,不能給數(shù)組整體賦值。
(請注意:在C、C#語言中是這樣,但并非在所有涉及數(shù)組的地方都這樣,數(shù)據(jù)庫是從1開始。)
3、若不給可初始化的數(shù)組賦初值,則全部元素均為0值。
4、假如給全部元素賦值,則在數(shù)組說明中, 可以不給出數(shù)組元素的個數(shù)。
動態(tài)賦值可以在程序執(zhí)行過程中,對數(shù)組作動態(tài)賦值。這時可用循環(huán)語句配合scanf函數(shù)逐個對數(shù)組元素賦值。
二、表示方法:
數(shù)組元素是組成數(shù)組的基本單元。
數(shù)組元素也是一種變量, 其標識方法為數(shù)組名后跟一個下標。下標表示了元素在數(shù)組中的順序號。數(shù)組元素的一般形式為:數(shù)組名[下標] 其中的下標只能為整型常量或整型表達式。
如為小數(shù)時,C編譯將自動取整。例如,a[5],a[i+j],a[i++]都是合法的數(shù)組元素。數(shù)組元素通常也稱為下標變量。必須先定義數(shù)組, 才能使用下標變量。在C語言中只能逐個地使用下標變量, 而不能一次引用整個數(shù)組。
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ù)組長度是不可行的。如:
int getLength(int[] a){ int length; length=sizeof(a)/sizeof(a[0]); //這樣是錯誤的,得到的結(jié)果永遠是1 return length; } 因為,a是函數(shù)參數(shù),到了本函數(shù)中,a只是一個指針(地址,系統(tǒng)在本函數(shù)運行時,是不知道a所表示的地址有多大的數(shù)據(jù)存儲空間, 這里只是告訴函數(shù):一個數(shù)據(jù)存儲空間首地址),所以,sizoef(a)的結(jié)果是指針變量a占內(nèi)存的大小,一般在32位機上是4個字節(jié)。 a[0]是int類型,sizeof(a[0])也是4個字節(jié),所以,結(jié)果永遠是1。
因此,獲得數(shù)組長度,只能在數(shù)組定義所在的代碼區(qū)中,采用以上方法,才可以達到效果。
關(guān)于C語言獲取數(shù)組長度的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。