День добрый!
Требуется помощь в области динамического выделения памяти переменным. Ситуация следующая:
Есть структура, в эту структуру заносится база данных. Изначально я делал так:
struct a {
char m1[y1];
char m2[y2];
...
char mn[yn];
} A[1024];
где m1, m2... mn - поля базы данных, y1, y2... yn - длины полей.
Но это, сами понимаете, перерасход памяти. Нужно, чтобы во-первых, было автоматическое выделение памяти только под нужное количество записей БД, а не сразу под все 1024 штуки.
Во-вторых, я решил, что вместо списка полей, лучше использовать двумерный массив char [x][y], где x - номер поля БД, y - длина поля (чтобы можно было сортировать БД по любому полю). Нужно, чтобы для этого массива также динамически выделялась память (количество полей может быть фиксированным, предположим 32).
Темы про динамическое распределение памяти я прочитал, но тем не менее, запутался конкретно. Помогите плз.
Требуется помощь в области динамического выделения памяти переменным. Ситуация следующая:
Есть структура, в эту структуру заносится база данных. Изначально я делал так:
struct a {
char m1[y1];
char m2[y2];
...
char mn[yn];
} A[1024];
где m1, m2... mn - поля базы данных, y1, y2... yn - длины полей.
Но это, сами понимаете, перерасход памяти. Нужно, чтобы во-первых, было автоматическое выделение памяти только под нужное количество записей БД, а не сразу под все 1024 штуки.
Во-вторых, я решил, что вместо списка полей, лучше использовать двумерный массив char [x][y], где x - номер поля БД, y - длина поля (чтобы можно было сортировать БД по любому полю). Нужно, чтобы для этого массива также динамически выделялась память (количество полей может быть фиксированным, предположим 32).
Темы про динамическое распределение памяти я прочитал, но тем не менее, запутался конкретно. Помогите плз.