我需要一些帮助来思考一项任务。
我的任务是创建一个内存区域
void *memory = malloc(320);
然后使用指针将文本存储到这个存储位置: 我们要把这个区域划分为 32 字节的数据块,所以我们可以存储: 320/32 = 10 个数据块一个 32 字节。在一个数据块中,我可以存储(1 个 ASCSII 字符 = 1 个字节)32 个字符。
我有一个 10 长的位图,其中每个位都指示是否使用数据块(1)或不使用(0)。
但是,如果我想存储 60 个字符长的文本怎么办?然后我需要 2 个数据块(2 x 32 字节)。位图显示数据块 2 和 6 是空闲的,1 和 6 不是并排的。我怎样才能做到这一点?
struct data {
char * text;
};
typedef struct data d;
d->text = ???