c语言数组指针定义方法,C语言数组指针定义方法

数组指针是指向数组地址的指针,其本质为指针,下面程序实例是它的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

请按任意键继续. . .



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值