您的位置:首页 > 编程语言 > C语言/C++

C语言数组指针定义方法

2015-09-17 14:26 579 查看
数组指针是指向数组地址的指针,其本质为指针,下面程序实例是它的3种定义方法:

#include <stdlib.h>
#include <stdio.h>

//方法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
请按任意键继续. . .



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: