int main() { int array[] = {1, 2, 3, 4, 5}; int *ptr1 = (int *)(&array + 1); int *ptr2 = (int *)((int)array + 1); printf("%x\t%x\n", ptr1[-1], *ptr2); printf("%d\n", sizeof(int *)); return 0; }
高位低位存储方式以及数组地址细节
最新推荐文章于 2024-06-29 10:38:32 发布
本文通过一个C语言示例探讨了x86系统中数组地址的处理方式,包括指针加一操作以及高位低字节存储原则的应用。通过解释`ptr1[-1]`和`*ptr2`的值,揭示了数组地址在内存中的表示以及字节对齐的影响。
摘要由CSDN通过智能技术生成