1、指針± 整數
#define N_VALUES 5
float values[N_VALUES];
float *vp;
//指針+-整數;指針的關系運算
for (vp = &values[0]; vp < &values[N_VALUES];)
{
*vp++ = 0;
}
2、指針-指針
int main()
{
int arr[10] = { 0 };
printf("%d", &arr[9] - &arr[0]);
//列印9,數組之間的個數,不是位元組數。
return 0;
}
3、指針的關系運算
允許指向數組元素的指針與指向數組最後一個元素後面的那個記憶體位置的指針比較,但是不允許與指向第一個元素之前的那個記憶體位置的指針進行比較。
C語言文法規定p1隻能與p2比較,不可以與p3比較。
//給數組values[N_VALUES]指派0。
//兩種方法都可以成功。
#define N_VALUES 5
for(vp = &values[N_VALUES]; vp > &values[0];)
{
*--vp = 0;//符合c語言文法。
}
for(vp = &values[N_VALUES-1]; vp >= &values[0];vp--)
{
*vp = 0;//不符合c語言文法。
}