可能重複:
Sizeof an array in the C programming language?得到一個數組的長度穿過作爲char *後
我有以下形式的代碼:
void arrLen(char* array){
// print length
}
int main(){
char bytes[16];
arrLen(bytes);
}
我需要做的是獲取底層數組的長度並將其打印出來。問題是該數組可能包含NULL CHARACTERS,因此strlen
不起作用。有沒有辦法做到這一點,或者我將不得不通過它作爲char[]
而不是char*
?
嗯,這不是真的怎麼陣列在C中處理。它們不是攜帶長度信息的實際對象。如果您有權訪問C++ 11,請使用std :: array。如果沒有,你必須始終記住自己的記憶長度 –
爲什麼不使用'vector'或'array'? –
void arrLen(char * array,int size) –