数组指针是指向数组地址的指针,其本质为指针,下面程序实例是它的3种定义方法:
#include
#include
//方法1,直接定义一个数组指针
void method1()
{
printf("方法1,直接定义一个数组指针\n");
int(*pMyArray)[12];
int i = 0;
int myArray[12] = { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
pMyArray = &myArray;
printf("利用数组标号遍历元素:");
for (i = 0; i < 12; i++)//数组标号遍历元素
{
printf("%d ", myArray[i]);
}
printf("\n");
printf("利用数组指针遍历元素:");
for (i = 0; i < 12; i++)//利用数组指针遍历元素
{
printf("%d ", (*pMyArray)[i]);
}
printf("\n");
}
//方法2,声明一个指针数组类型
void method2()
{
printf("方法2,声明一个指针数组类型\n");
typedef int(*DefPointer)[12];//声明一个数组指针类型DefPointer
DefPointer pArray;//定义一个指针
int i = 0;
int myArray[12] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
pArray = &myArray;
printf("利用数组标号遍历元素:");
for (i = 0; i < 12; i++)//数组标号遍历元素
{
printf("%d ", myArray[i]);
}
printf("\n");
printf("利用数组指针遍历元素:");
for (i = 0; i < 12; i++)//利用数组指针遍历元素
{
printf("%d ", (*pArray)[i]);
}
printf("\n");
}
//方法3,用数组类型定义数组指针
void method3()
{
printf("方法3,用数组类型定义数组指针\n");
typedef int(DefArray)[12];//自定义类型DefArray为 int[12] 数组类型
int i = 0;
DefArray myArray = { 1, 2, 3, 4, 4, 65, 6, 7, 7, 8, 8, 65 }; //定义一个int[12]数组
DefArray *p;//定义一个数组指针
p = &myArray;//数组指针指向array
printf("利用数组标号遍历元素:");
for (i = 0; i < 12; i++)//数组标号遍历元素
{
printf("%d ", myArray[i]);
}
printf("\n");
printf("利用数组指针遍历元素:");
for (i = 0; i < 12; i++)//利用数组指针遍历元素
{
printf("%d ", (*p)[i]);
}
printf("\n");
}
int main()
{
method1();
printf("\n");
method2();
printf("\n");
method3();
system("pause");
return 0;
}
程序运行结果:
方法1,直接定义一个数组指针
利用数组标号遍历元素:12 11 10 9 8 7 6 5 4 3 2 1
利用数组指针遍历元素:12 11 10 9 8 7 6 5 4 3 2 1
方法2,声明一个指针数组类型
利用数组标号遍历元素:1 2 3 4 5 6 7 8 9 10 11 12
利用数组指针遍历元素:1 2 3 4 5 6 7 8 9 10 11 12
方法3,用数组类型定义数组指针
利用数组标号遍历元素:1 2 3 4 4 65 6 7 7 8 8 65
利用数组指针遍历元素:1 2 3 4 4 65 6 7 7 8 8 65
请按任意键继续. . .
如果觉得《c语言数组指针定义方法 C语言数组指针定义方法》对你有帮助,请点赞、收藏,并留下你的观点哦!