博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二维数组的遍历
阅读量:6691 次
发布时间:2019-06-25

本文共 2406 字,大约阅读时间需要 8 分钟。

方法1:

1 /************************************************************************* 2     > File Name: ptrmulti.c 3     > Author: Mr.Yang 4     > Purpose:使用指针来将数组传递给函数  5     > Created Time: 2017年06月04日 星期日 08时51分15秒 6  ************************************************************************/ 7  8 #include 
9 #include
10 11 /*遍历函数的原型,函数的参数是数组指针*/12 void printarray_1(int (*ptr)[4]);13 14 int main(void)15 {16 /*声明一个三行四列的数组*/17 int multi[3][4] = 18 {19 {
1,2,3,4},20 {
5,6,7,8},21 {
9,10,11,12}22 };23 24 /*声明一个数组指针,可以指向4个int型的数组变量*/25 int (*ptr)[4];26 27 /*把ptr初始化指向multi*/28 ptr = multi;29 30 /*调用函数*/31 /*记住这个地方刚开始编写代码的时候没有进行for循环操作,会打印不完整*/32 int i = 0;33 for(;i<3;i++)34 {35 printarray_1(ptr++);//通过for循环可以遍历multi0到multi236 }37 38 return 0;39 }40 41 void printarray_1(int (*ptr)[4])42 {43 int *p;44 int count = 0;45 p = (int *)ptr;//怎么理解类型的强制转换?46 47 for(;count < 4;count++)48 {49 printf("%d\n",*p++);//通过类型强制转换后进行三行四列数组的横向打印50 }51 }

方法2:

1 /************************************************************************* 2     > File Name: ptrmulti1.c 3     > Author: Mr.Yang 4     > Purpose:二维数组的遍历方法2 5     > Created Time: 2017年06月04日 星期日 09时40分36秒 6  ************************************************************************/ 7  8 #include 
9 #include
10 11 /*遍历函数的原型*/12 void printarray_2(int (*ptr)[4],int n);13 14 int main(void)15 {16 /*声明一个三行四列的数组*/17 int multi[3][4] = 18 {19 {
1,2,3,4},20 {
5,6,7,8},21 {
9,10,11,12}22 };23 24 /*声明一个数组指针*/25 int (*ptr)[4];26 27 /*对数组指针进行初始化,此处ptr指向了multi[0],并且可以存储4个int型数组元素*/28 ptr = multi;29 30 /*调用函数进行遍历操作,这个地方如果传参数后,就不用使用for循环,因为当获得第一个multi[0][0]后,进行顺序遍历即可得到所有值*/31 printarray_2(ptr,3);32 33 34 return 0;35 }36 37 /*遍历函数*/38 void printarray_2(int (*ptr)[4],int n)39 {40 int *p;41 int count = 0;42 p = (int *)ptr;43 for(;count<4*n;count++)44 {45 printf("%d\n",*p++);46 }47 }

 

转载于:https://www.cnblogs.com/yanglai/p/6939637.html

你可能感兴趣的文章
还没被玩坏的robobrowser(8)——robobrowser的实现原理
查看>>
怎么学习逆向工程?
查看>>
D3DXMatrixMultiply 函数
查看>>
[翻译] ZLSwipeableView
查看>>
PHP操作MongoDB 数据库
查看>>
Quartz.Net的使用(简单配置方法)定时任务框架
查看>>
xss编码小结
查看>>
linux grep命令详解
查看>>
胡思乱想 & 胡言乱语
查看>>
Android 2.3.5源码 更新至android 4.4,能够下载,度娘网盘
查看>>
[ASM C/C++] C语言函数的可选性自变量
查看>>
ubuntu更新源
查看>>
sprintf,你知道多少?
查看>>
银行家算法
查看>>
Android学习四、Android中的Adapter
查看>>
ASP连接sql server实例解析
查看>>
ArcEngine开发各种几何错误代码
查看>>
解决WinForm界面闪烁问题
查看>>
[编辑器] Tab转换成空格
查看>>
ElasticSearch的javaAPI之Client
查看>>