Чтобы выделить массив строк в C, у вас есть несколько вариантов. Вот несколько методов, которые вы можете использовать:
Метод 1: статический массив
char strings[5][100]; // Allocates a static array of 5 strings, each with a maximum length of 100 characters
Метод 2: динамический массив
int numStrings = 5;
int maxLength = 100;
char strings = malloc(numStrings * sizeof(char*)); // Allocates an array of string pointers
for (int i = 0; i < numStrings; i++) {
strings[i] = malloc(maxLength * sizeof(char)); // Allocates memory for each string
}
Метод 3. Массив указателей
int numStrings = 5;
char* strings[numStrings]; // Allocates an array of string pointers
for (int i = 0; i < numStrings; i++) {
strings[i] = malloc(maxLength * sizeof(char)); // Allocates memory for each string
}
Метод 4. Массив символов
int numStrings = 5;
char* strings[numStrings]; // Allocates an array of character arrays
for (int i = 0; i < numStrings; i++) {
strings[i] = calloc(maxLength, sizeof(char)); // Allocates and initializes memory for each character array
}
Не забудьте освободить память, как только вы закончите ее использовать, используя free. Для динамических массивов вам необходимо освободить каждую строку отдельно, прежде чем освобождать сам массив.