相关疑难解决方法(0)

如何在C中对齐指针

有没有办法在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不允许模数指针.有没有与架构无关的解决方案?

c pointers alignment

24
推荐指数
1
解决办法
4万
查看次数

标签 统计

alignment ×1

c ×1

pointers ×1