タスクについて考えるのに助けが必要です。
私のタスクは、1 つのメモリ領域を作成することです。
void *memory = malloc(320);
次に、ポインタを使用してテキストをこの格納場所に格納します。この領域を 32 バイトのデータ ブロックに分割したいので、格納できます: 320/32 = 10 データ ブロック a 32 バイト。1 つのデータ ブロックに (1 ASCSII 文字 = 1 バイト) 32 文字を格納できます。
データ ブロックが使用されているか (1) 使用されていないか (0) をすべてのビットが示す長さ 10 のビットマップがあります。
しかし、60 文字のテキストを保存したい場合はどうすればよいでしょうか? 次に、2 つのデータ ブロック (2 x 32 バイト) が必要です。ビットマップは、データ ブロック 2 と 6 がフリーであり、1 と 6 が並んでいないことを示しています。どうすればこれを達成できますか?
struct data {
char * text;
};
typedef struct data d;
d->text = ???