Мне нужна помощь с размышлениями о задаче.
Моя задача - создать одну область памяти
void *memory = malloc(320);
, а затем используйте указатели для хранения текстов в этом месте хранения: мы хотим разделить эту область на блоки данных по 32 байта, поэтому мы можем хранить: 320/32 = 10 блоков данных по 32 байта. В одном блоке данных я могу хранить (1 ASCSII символ = 1 байт) 32 символа.
У меня есть растровое изображение длиной 10, где каждый бит указывает, используется ли блок данных (1) или нет (0).
Но что, если я хочу сохранить текст длиной 60 символов? Тогда мне нужно 2 блока данных (2 х 32 байта). Битовая карта показывает, что блоки данных 2 и 6 свободны, 1 и 6 не расположены рядом. Как мне этого добиться?
struct data {
char * text;
};
typedef struct data d;
d->text = ???