#include<stdio.h>
int main()
{int *a[5];int *o[5];//p是一個數組,5個元素,每個元素是int*
int* d(double);//p是一個函數,形參double,返回類型 int*
int(*p)[5];//p是一個指針,指向5個元素的int數組
int x[5] = {11,22,33,44,55};//x是一個5個元素的int數組
int m;//m是一個int變量
int *n;//n是一個指針,指向int變量
n = &m;
int y[6] = {12,34,56,78,90,100};
int z[3][5] = {{1,2,3,4},{5,6,7},{8}};
p = &x;//x表示&x[0],int*類型,
//用&x表示數組的地址,int(*)[5]類型
int i,j;
for(i = 0;i<5;i++)
printf("%d ",(*p)[i]);//x[i]
printf("\n");
//p = &y; &y的類型是int(*)[6],不一致
p = z;//數組名z表示z[0]的地址,是一個int[5]的地址
for(i = 0;i<3;i++,printf("\n"))
for(j = 0;j<5;j++)
printf("%d ",p[i][j]);// = z[i][j] = *(*(p+i)+j)
return 0;
}