【发布时间】:2017-07-31 11:24:44
【问题描述】:
我了解 *(p+i) 的工作原理,但是,当通过 printf() 函数使用 *(p-i) 或 p[-i] 检索值时,内存级别实际发生了什么?
#include <stdio.h>
int main() {
int i, arr[5] = {1, 2, 3, 4, 5}, *p;
p = &arr[4];
for (i = 0; i < 5; i++)
printf("%d\t%d\t", *(p - i), p[-i]);
// why does this prints in reverse order?
return 0;
}
【问题讨论】: