Наиболее распространенный способ отправки данных в массивах - это нуль-завершение массивов. (Тем не менее, это не может работать для вас, если, например, 0
является действительным числом, чтобы в вашем массиве. В этом случае, вы можете захотеть использовать -1
, например.)
int array_len(int *arr)
{
const int TERMINATOR = 0; // or -1, as the case may be
int i = 0;
while (arr[i] != TERMINATOR)
i++;
return i;
}
Однако, лучший метод, вероятно, просто отправляет только массив, но массив и длину при прохождении данных. Таким образом, вам не нужно постоянно вызывать подобные функции, чтобы получить длины массивов в ваших различных функциях.
примечание: 'a [i]! = NULL' ... нет. 'a [i]' не является указателем, но NULL. –
Simple: 'return 25;' – this
Если вы нашли ответ полезным, вы можете [захотеть принять одно из них] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an -answer-work) –