int main (void)
{
int
z,
size = 100000, // количество строк в массиве
maxlen = 100; // максимальная длина строки с ноликом
char **k; // массив строк
// выделяем память по массив указателей
k = (char**) malloc (size * sizeof (char*));
if (k == NULL)
{
printf ("Out of memory\n");
exit (-1);
}
bzero (k, size * sizeof (char*));
// выделяем память для каждой строки
for (int i = 0; i < size; i++)
{
k[i] = (char*) malloc (maxlen * sizeof (char));
if (k[i] == NULL)
{
printf ("Out of memory\n");
exit (-1);
}
}
snprintf (k[10], maxlen, "test");
// освобождаем память
for (int i = 0; i < size; i++)
{
if (k[i]) {
free (k[i]);
}
}
free (k);
return (0);
}