以下示例阐释了加法和减法运算符,它使用这些声明:
int i = 4, j;
float x[10];
float *px;
这些语句是等效的:
px = &x[4 + i];
px = &x[4] + i;
i
的值先与 float
的长度相乘,再与 &x[4]
相加。 结果指针值是 x[8]
的地址。
j = &x[i] - &x[i-2];
在此示例中,用 x
的第五个元素的地址(由 x[i-2]
给定)减去 x
的第三个元素的地址(由 x[i]
给定)。 用差值除以 float
的长度;结果为整数值 2。