成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

c語(yǔ)言求數(shù)組的長(zhǎng)度 c語(yǔ)言怎么獲取數(shù)組的長(zhǎng)度?

c語(yǔ)言怎么獲取數(shù)組的長(zhǎng)度?在C語(yǔ)言中,定義數(shù)組后,可以使用sizeof命令獲取數(shù)組的長(zhǎng)度(它可以容納的元素?cái)?shù)),例如:{int data[4]int length=sizeof(data)/sizeo

c語(yǔ)言怎么獲取數(shù)組的長(zhǎng)度?

在C語(yǔ)言中,定義數(shù)組后,可以使用sizeof命令獲取數(shù)組的長(zhǎng)度(它可以容納的元素?cái)?shù))

,例如:{int data[4]int length=sizeof(data)/sizeof(data[0])//數(shù)組占用的總內(nèi)存空間除以單個(gè)元素printf占用的內(nèi)存空間(”length)of data[4]=%d,length)//輸出數(shù)據(jù)長(zhǎng)度[4]=4}

但是,通過(guò)將array name參數(shù)傳遞給子函數(shù)來(lái)獲取數(shù)組長(zhǎng)度是不可行的。例如:

int getlength(int[]a){int length=sizeof(a)/sizeof(a[0])//這是錯(cuò)誤的,結(jié)果總是1 return length}因?yàn)閍是一個(gè)函數(shù)參數(shù),在這個(gè)函數(shù)中,a只是一個(gè)指針(地址,系統(tǒng)不知道這個(gè)函數(shù)運(yùn)行時(shí)地址a代表了多少數(shù)據(jù)存儲(chǔ)空間,這里僅此而已告訴函數(shù):一個(gè)數(shù)據(jù)存儲(chǔ)空間(第一個(gè)地址)。因此,sizoef(a)的結(jié)果是內(nèi)存中指針變量a的大小,在32位計(jì)算機(jī)上通常為4字節(jié)。[0]是int類型,sizeof(A[0])是4字節(jié),因此結(jié)果總是1。

因此,要獲得數(shù)組的長(zhǎng)度,我們只能在數(shù)組定義所在的代碼區(qū)域中使用上述方法。