Sollicitatievraag bij Intel Corporation

Given: void *alloc1(int size) void free1(void *ptr) Implement: alloc2(ptr, size) free2(ptr)

Antwoord op sollicitatievraag

Anoniem

7 mei 2014

Allocate an extra buffer to the requested size at the begining of the buffer save the requested size (so when you need to delete it you can take it freom there, don't forget to free extra memory this as well). alloc: ===== [size] *ptr[0] = size; alloc1(size + sizeof(int)); free: ==== free1(ptr - sizeof(int), *ptr[0] + sizeof(int))