В этом конкретном случае вы можете использовать rst
для выполнения настроек указателя и оставить mem
в покое.
*rst++ <<= 3;
// etc...
Если изменения, которые вы вносите, имеют смысл как функциональная единица, тоВы можете инкапсулировать код в вызове функции и вообще не объявлять rst
.
extern void adjust_mem(uint8_t *);
uint8_t* mem = malloc(10);
adjust_mem(mem);