Practice · 1 of 4
Build a Bump Arena
CHALLENGE
Difficulty: advanced+25 XP
Implement a bump allocator over caller-provided memory:
``c
typedef struct { unsigned char *mem; size_t cap; size_t used; } arena_t;
void arena_init(arena_t *a, unsigned char *buf, size_t cap);
void *arena_alloc(arena_t *a, size_t n);
void arena_reset(arena_t *a);
`
arena_alloc returns NULL when the request does not fit the remaining capacity; arena_reset rewinds used` to 0.
Press Submit to check your solution.
Back to lesson: Practice: Allocator Engineering Drills