Длина массива указателей - PullRequest
3 голосов
/ 06 мая 2009

если у меня есть массив указателей, таких как строки с символами **, как я могу определить его длину? Спасибо

Ответы [ 5 ]

7 голосов
/ 06 мая 2009

Вы не можете. Вы должны вручную отслеживать длину массивов.

4 голосов
/ 06 мая 2009

Вы не можете надежно.

Иногда существует нулевой указатель, отмечающий конец - это иногда используется одно соглашение. Чаще всего вам нужно указать длину.

Но нет надежного способа определения длины. Вы должны знать (или быть сказанным) длину, так или иначе.

1 голос
/ 06 мая 2009

Это зависит от данных. Если счетчик отсутствует, это может быть завершенный список NULL.

char** lines = mysteryfunction();
for ( ;*lines;lines++ ) { 
    printf( "%s\n", *list ); 
}
1 голос
/ 06 мая 2009

Это не массив указателей, это указатель на указатель.

0 голосов
/ 18 декабря 2012

Получение длины указателя на массив

char *array[]={"welcome","to","India"};

length=sizeof(array)/sizeof(array[0]);

Выход:

3

мы можем получить длину путем деления (размер указателя на массив на размер одного)

Поскольку нет предопределенной функции для получения длины массива ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...