【問題】[C++]用陣列來當函數的參數傳遞


Recommended Posts

意思就是說,假如我宣告一個 int P[10];

如果在主程式執行 sizeof(P); 則傳回 40。

但如果寫在函數中,則 sizeof(P) 傳回4,因為int*的大小為4,它不會計算整個陣列的長度。我個人猜想可能的原因在於傳遞引數的時候,它只是複製了指標,而不是整個陣列,所以計算長度只計算了指標。

範例:


int main()
{
int P[10];
cout << sizeof(P) << endl; //傳回40
cout << test(P) << endl; //傳回4
}
int test(int P[])
{
return sizeof(P);
}

==============================

對了,你的方法不行,抱歉。

鏈接文章
分享到其他網站
  • 1 month later...

請登入後來留意見

在登入之後,您才能留意見



立即登入