0 голосов

Есть массив строк вида:

const char *stroki[]  = {             // массив строк
  "string1",                          // 0
  "string2"                           // 1
};

Как программно узнать количество элементов ?

(1.2 тыс. баллов) 8 26 51

1 Ответ

+2 голосов
 
Лучший ответ

sizeof (stroki) / sizeof (stroki[0])

(2.7 тыс. баллов) 10 29 55
выбран
А если разное количество элементов в строках ?
stroki[0] судя по вашему коду это не длина строки, а длина указателя на строку (2 байта). ТО есть то что написал parovoZZ это действительно размерность массива указателей на строки.
Я могу и вот такой массив объявить и обращаться к строкам по индексам 0, 1, 2
const char *stroki[]  = {             // массив строк
  "s",
  "sss",
   "ssssssssss"
};
Меня интересует могу ли узнать сколько у меня этих строк чтобы перебрать их в цикле без объявления дополнительной переменной....
sizeof (stroki) / sizeof (stroki[0]) даст значение 3 (проверьте). Или вы хотите что то еще?
а ну да... работает
Да какая разница? В массиве лежат указатели на строки.
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...