Универсальный способ найти размер массива - sizeof array / sizeof *array
.Это дает количество элементов, в вашем случае 10.
Если вы хотите узнать, сколько из 10 содержит правильную строку, вы должны использовать значение часового типа, например, ""
:
char array[10][10]={
"45",
"34",
"23",
"12",
"",
};
// search for used size of the array
size_t i;
for (i=0; i<10; i++)
{
if(strcmp(array[i], "")==0)
break;
}
// here i contains the used size
(Обычно вы бы предпочли иметь массив char* strings[n]
, где каждая отдельная строка чтения / записи может иметь переменную длину посредством динамического выделения. В этом случае вы бы использовали NULL в качестве значения часового.)