1)通过数据类型定义数组指针:
typedef int(ArrayType)[5]; int *a ArrayType* pointer;
2) 声明一个数组指针类型
typedef int (*MyPointer)[5];
MyPointer myPoint;
3)直接定义:
type (*pointer)[n];
pointer 为数组指针变量名 type 为指向的数组数据类型
n 为指向的数组的大小注意这个地方是type类型(比如 int (*pointer)[10])
//定义数组指针变量的第一种方法
int main12()
{
typedef int (myArr)[5];//定义一个数据类型 数组数据类型
myArr myArr1;// int myArr1[5]
myArr *pArray;//定义一个指针变量 这个指针变量指向一个数组
int i;
{
int a ;
int *p = NULL;
p = &a;
}
{
for (i=0;i<5;i++)
{
myArr1[i] = i+1;
}
pArray = &myArr1;
for (i=0;i<5;i++)
{
printf("(*pArray)[%d]:%d\n",i,(*pArray)[i]);
}
}
system("pause");
return 0;
}
//定义数组指针变量的第二种方法
int main13()
{
typedef int (*PMyArr)[5];//定义一个数据类型 数组指针类型
PMyArr pArray;//告诉编译器分配一个指针变量
int c[5];
int i;
pArray = &c;
for (i=0;i<5;i++)
{
(*pArray)[i] = i+1;
}
for (i=0;i<5;i++)
{
printf("%d\n",(*pArray)[i]);
}
system("pause");
return 0;
}
//定义数组指针变量的第三种方法
//前两种方法通过数据类型定义变量 比较麻烦
int main()
{
int (*PMyArr)[5];//直接定义一个 数组指针变量
int c[5];
int i;
PMyArr = &c;
for (i=0;i<5;i++)
{
(*PMyArr)[i] = i+1;
}
for (i=0;i<5;i++)
{
printf("%d\n",(*PMyArr)[i]);
}
system("pause");
return 0;
}