课时63指针操作数组
二维数组
#include <stdio.h> #include <stdlib.h> int main() { int age[2][4] = { 1,2,3,4,5,6,7,8 }; int* p = &(age[0][0]); int i = 0; int j = 0; for (i = 0; i < 2; i++) { for (j = 0; j < 4; j++) { printf("age[%d][%d] %p %d ", i, j, &(age[i][j]), *(p + i * 4 + j)); } } system("pause"); return 0; }
课时64指针操作多维数组
两种方式访问二维数组元素
p[i][j]
*(*(p + i) + j)
#include <stdio.h> #include <stdlib.h> int main() { int age[2][4] = { 1,2,3,4,5,6,7,8 }; int(*p)[4] = age; int i = 0; int j = 0; for (i = 0; i < 2; i++) { for (j = 0; j < 4; j++) { printf("age[%d][%d] %d %d ", i, j, p[i][j], *(*(p + i) + j)); } } system("pause"); return 0; }