C-如何重置指针



在使用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);

相关内容

  • 没有找到相关文章

最新更新