国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

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}

但是,通過將array name參數(shù)傳遞給子函數(shù)來獲取數(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ū)域中使用上述方法。