因為數(shù)組中每個元素的類型都是一樣的,在內(nèi)存中所占的字節(jié)數(shù)都是相同的,所以總的字節(jié)數(shù)除以一個元素所占的字節(jié)數(shù)就是數(shù)組的長度。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供天峨網(wǎng)站建設(shè)、天峨做網(wǎng)站、天峨網(wǎng)站設(shè)計、天峨網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、天峨企業(yè)網(wǎng)站模板建站服務(wù),10多年天峨做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
比如獲取一個int類型數(shù)組的長度:int example[20];int ArrLength;ArrLength = sizeof(example) / sizeof(int);這樣就行了。
如果參數(shù)是是數(shù)組,會返回數(shù)組所占空間的大小,即:int a[n] ; sizeof(a)=n*sizeof(int) ;如果參數(shù)是個變量類型,則會返回這個類型所占空間的大小。
下面例子 計算 float 數(shù)組a, char 數(shù)組s 的 數(shù)組長度,計算s 里字符串長度。(sizeof 用來計算 變量 和 類型 占內(nèi)存的大小,單位是字節(jié)。
C中沒有!可以用操作符sizeof(a)/sizeof(int)求得!length()函數(shù)在C++中string類中求長度。
在自定義函數(shù)中,形式參數(shù)的int a[]被自動轉(zhuǎn)換成int *a,a已經(jīng)變成了指針,而指針的長度總是4,因此如果int的長度為2的話,sizeof(a)/sizeof(a[0])就是4/2,結(jié)果為2。
1、因為數(shù)組中每個元素的類型都是一樣的,在內(nèi)存中所占的字節(jié)數(shù)都是相同的,所以總的字節(jié)數(shù)除以一個元素所占的字節(jié)數(shù)就是數(shù)組的長度。
2、數(shù)組長度,應(yīng)是指數(shù)組大小,可存放幾個數(shù)組元素。下面例子 計算 float 數(shù)組a, char 數(shù)組s 的 數(shù)組長度,計算s 里字符串長度。(sizeof 用來計算 變量 和 類型 占內(nèi)存的大小,單位是字節(jié)。
3、理論上,c語言數(shù)組最大的大小沒有限制,因為它用的是 虛擬存儲。對于寫程序而言,例如要寫下標,那么受 unsigned int 最大值的限制,只能用到十六進制 0xffffffff, 十進制4G多一點。
4、在c語言中,可以通過庫函數(shù)strlen來計算字符串的長度,也可以通過循環(huán)計數(shù)來求取字符串長度。
5、c語言中,定義數(shù)組后可以用sizeof命令獲得數(shù)組的長度(即可容納元素個數(shù))。但是通過傳遞數(shù)組名參數(shù)到子函數(shù)中,以獲得數(shù)組長度是不可行的,因為在子函數(shù)當中,數(shù)組名會退化為一個指針。
6、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。在test.cpp文件中,輸入C語言代碼:printf(%d, sizeof(ARRAY) / sizeof(int));。編譯器運行test.cpp文件,此時成功求出了數(shù)組的長度是4。
好幾年沒用C了,好像sizeof()是看字段的長度,a是個指針類型,它只存放指向數(shù)組的地址,你sizeof(a)得到的是內(nèi)存中指向數(shù)組a的進址的長度,而不是數(shù)組長度。
因為數(shù)組中每個元素的類型都是一樣的,在內(nèi)存中所占的字節(jié)數(shù)都是相同的,所以總的字節(jié)數(shù)除以一個元素所占的字節(jié)數(shù)就是數(shù)組的長度。
c語言中,定義數(shù)組后可以用sizeof命令獲得數(shù)組的長度(可容納元素個數(shù))。