亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

確定數組的大小(如果傳遞給函數)

確定數組的大?。ㄈ绻麄鬟f給函數)

C++
UYOU 2019-10-30 11:01:12
如果將數組傳遞給另一個函數(不傳遞大小),是否可以確定數組的大???該數組的初始化類似于int array [] = {XXX} ..我知道不可能執行sizeof,因為它會返回指針的大小。我問的原因是因為我需要在傳遞數組的其他函數中運行for循環。我嘗試了類似的東西:for( int i = 0; array[i] != NULL; i++) {........}但我注意到,在數組的近端,array [i]有時包含諸如758433之類的垃圾值,該值不是數組初始化中指定的值。
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

您可以在int數組中添加一個終止符,然后手動遍歷該數組以發現方法中的大小。


#include<iostream>

using namespace std;


int howBigIsBareArray(int arr[]){

    int counter = 0;

    while (arr[counter] != NULL){

        counter++;

    }

    return counter;

}

int main(){

    int a1[6] = {1,2,3,4,5,'\0'};

    cout << "SizeOfMyArray: " << howBigIsBareArray(a1);

}

該程序打印:


SizeOfMyArray: 5

這是O(n)時間復雜度運算,很糟糕。您永遠不應單步探索數組以發現其大小。


查看完整回答
反對 回復 2019-10-30
  • 3 回答
  • 0 關注
  • 587 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號