指针数组
一个基本用法
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
int arr1[] = { 1,2,3,4,5 };
int arr2[] = { 2,3,4,5,6 };
int arr3[] = { 3,4,5,6,7 };
int* parr[] = { arr1,arr2,arr3 };
int i = 0;
for (i = 0; i < 3; i++) {
int j = 0;
for (j = 0; j < 5; j++) {
//printf("%d ", *(*(parr + i) + j));
//printf("%d ", *(parr[i] + j));
printf("%d ", parr[i][j]);
}
printf("\n");
}
getchar();
return 0;
}
*( * (parr + i) + j)):parr+i 是获取parr数组里arr1,arr2,arr3的地址,
*(parr+i)是获取arr1,arr2,arr3内部的首元素地址
*(parr+i) + j 是获取arr1,2,3数组内部某个元素的地址
*( * (parr + i) + j) 获取每个数组的元素
*(parr +i) 相当于 parr[ i ]