0 голосов

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

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

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

(1.2 тыс. баллов) 3 23 50

1 Ответ

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

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

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

    77 балл(ов)

  2. Un_ka

    54 балл(ов)

  3. parovoZZ

    12 балл(ов)

  4. sser

    6 балл(ов)

  5. Тёмик

    5 балл(ов)

  6. NesteruS

    5 балл(ов)

Награды месяца
1-е место: OLED-дисплей (Troyka-модуль)
2-е место: Графический экран 128×64
3-е место: Текстовый дисплей 16×2 (Troyka-модуль)

...