一维数组
#include <stdio.h>
int main(){
int arr[] = {3,1,2,3,4,5,6,7,8,9,10};
int *pa = (int *) arr;
for (int i = 0; i < 10; ++i) {
printf("%d \n", pa[i]);
printf("%d \n", *(arr+i)); //指针
printf("%d \n", *pa++); //累加指针
}
return 0;
}
二维数组
#include <stdio.h>
int main(){
int arr[][4] = {10,2,3,4,
1,2,3,4,
5,6,7,8,
9,8,7,6,
4,3,2,1};
int *pn = (int *) &arr;
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 4; ++j) {
printf("%2d", arr[i][j]);
printf("%2d", *((*arr+i)+j)); //降维指针
printf("%2d", *(pn+(i*4)+j)); //指针
printf("%2d", *pn++); //累加指针
}
putchar(10);
}
return 0;
}