C如果功能函式引數是陣列,陣列長度怎麼處理好

2022-06-13 17:16:40 字數 764 閱讀 8584

1樓:不是很無知

你可以傳引數,也可以用特殊的陣列元素標誌。

比如你的陣列是char txt[10];最後以0結束,就可以在函式裡用這個結束標誌判斷,沒有的話就傳個長度進去。

2樓:

sizeof(arr)/sizeof(int)可以確定陣列長度

3樓:鳥人和天使

把陣列長度也傳進去,因為陣列名在傳給函式時會弱化為指標!提示你,就是說你如果在函式內用sizeof(a)的話肯定會得到乙個4,因為弱化為指標!

這樣也就不知道長度了!

兩種方法!

hanshu(int a,int n);

2.在陣列末尾手動新增乙個『\0』;然後在函式裡用strlen計算陣列長度!

4樓:匿名使用者

你可以通過標準庫函式中的sizeof()函式來判斷陣列的長度。如i = sizeof(a[10])

5樓:匿名使用者

如果陣列作為函式的引數,這個引數將被退化為指標,這樣的話陣列的長度就無從得知了,因此必須同時傳入乙個表示代表陣列大小的引數。

不過也可以使用陣列的引用來傳參

void hanshu(int (&a)[11])在函式中就可以直接用sizeof()求陣列大小了另外,加上乙個結束符也是乙個方法,不過將對存入其中的資料產生限制(至少不能為那個結束符了)

6樓:求是的夢

c++? 用vector

C怎麼把字元陣列當作函式引數傳遞

以指標方式或數bai組的方式都可以實du現引數傳遞zhi的,實際上都是將dao陣列的首位址傳遞專到子函式中去的。屬例如 include include void fun1 char pstr void fun2 char arr int main c 不能傳陣列,傳bai的是第乙個du陣列zhi元素...

C如何以一維陣列作為函式引數

定義復為指 針,同時傳入制陣列長度 void func int array,int len 不過既然是c 一維陣列都建議用vector了 void func std vector array 在c c 中,在函式引數中,指標與陣列名是等同的。宣告函式引數時這樣 function int arg 在呼...

C建構函式的引數是陣列的話要怎麼寫

public student string name,string age,string float score 建構函式 student student swy3 new student 張三 20 男 new float 請問c 這個建構函式是怎麼傳參的 司馬刀劍 例如你的主窗體中有一個按鈕,在...