有没有办法在C中对齐指针?假设我正在将数据写入数组堆栈(因此指针向下移动)并且我希望我写入的下一个数据是4对齐的,因此数据写入的内存位置是4的倍数,我该怎么做那?
我有
uint8_t ary[1024];
ary = ary+1024;
ary -= /* ... */
Run Code Online (Sandbox Code Playgroud)
现在假设ary在位置点0x05.我希望它指向0x04.现在我可以做到
ary -= (ary % 4);
Run Code Online (Sandbox Code Playgroud)
但是C不允许模数指针.有没有与架构无关的解决方案?