array[0]+i 和 array[0]+1 怎么理解?
讲问题简化了一下:主要就是怎么理解array[0]+i 和 array[0]+1。
当加计数i的时候编译器理解成的事偏移;而加常量1的时候又是正常的加法。
源码(GCC 4.8.1):
运行结果:
当加计数i的时候编译器理解成的事偏移;而加常量1的时候又是正常的加法。
源码(GCC 4.8.1):
#include <stdio.h>
#define NUM 5
int main(void)
{
int array[NUM] = {0, 1, 2, 3, 4};
int i = 0;
for (; i < NUM; i++)
printf("%d\t%d\n",array[0]+i,array[0]+1);
return 0;
}运行结果:
0 1
1 1
2 1
3 1
4 1
...全文


