在使用Malloc给出的指针后播放。
uint8_t* mem = malloc(10);
uint8_t* rst = mem;
*mem++ <<= 3;
// etc...
mem = rst;
是否还有其他"优雅"的方式将指针重置为Malloc给出的RAM的第一个元素,而不是以前在分配后复制其价值吗?
在这种特殊情况下,您可以使用 rst
进行指针调整,然后将mem
独立。
*rst++ <<= 3;
// etc...
如果您正在作为功能单元做出的修改,则可以将代码封装在函数调用中,并避免完全声明rst
。
extern void adjust_mem(uint8_t *);
uint8_t* mem = malloc(10);
adjust_mem(mem);