int main() { int iA[4]; short *p1 = &iA;[0]; short *p2 = &iA;[1]; printf("Pointer Diff = %lu\n",p2-p1); return 0; } 上述程序运行结果:Pointer Diff = 2 (代表两个USHORT类型) 不是4. 因为指针相减含义是多少个该类型的单位。不是纯字节数。