假設現在我們有這么一個數組:
int a[5] = { 1,2,3,4,5 };
第一種方式:直接通過下標遍歷。
for (int i = 0; i < 5; i++) { printf("%d\n", a[i]); }
第二種方式:數組名就是首元素的地址,因此通過數組名,使用*獲取其中的值的方式來遍歷。
for (int i = 0; i < 5; i++) { printf("%d\n", *(a+i)); }
第三種方式:使用指針來遍歷。
int* p = a; for (int i = 0; i < 5; i++) { printf("%d\n", *(p+i)); }
指針指向的是數組a的首元素的地址,然后通過(*指針)來解引用獲取其中的值,最后通過(*指針+1)獲取下一個元素的值。