黑马程序员技术交流社区

标题: 二维数组指针的应用 [打印本页]

作者: zhudong100    时间: 2015-10-23 16:30
标题: 二维数组指针的应用
  1. //二维数组指针实现二维数组遍历
  2. void print2Array(int (*p)[3],int row,int column)
  3. {
  4.         for(int i = 0;i < row;i++)
  5.         {
  6.                 for(int j =0;j < column;j++)
  7.                 {
  8.                         printf("%d",*(*(p+i)+j));
  9.                 }
  10.                 printf("\n");
  11.         }
  12. }
  13. int main(int argc, char* argv[])
  14. {
  15.         int a[2][3] = {0,1,
  16.                                         2,3,
  17.                                         4,5};
  18.         print2Array(a,2,3);
  19.         return 0;
  20. }
复制代码

被调函数中定义的形式参数int (*p)[3]中的3能省略吗?如果不能省略,该如何理解(一位
数组作为形参时可以省略数组长度)?
作者: c9527    时间: 2015-10-23 21:54
不可以,int (*p)[3]  规定了 指针指向的二维数组的列数为3
作者: 菜鸟adambo    时间: 2015-10-23 22:03
不错,学习学习
作者: liyang783    时间: 2015-10-23 22:26
明天就要开始学啦!
作者: 陌上开花    时间: 2015-10-23 23:03
好棒 兄弟  加油
作者: wpf986530062    时间: 2015-10-23 23:14
写的挺好,加油
作者: zhudong100    时间: 2015-10-26 10:15
c9527 发表于 2015-10-23 21:54
不可以,int (*p)[3]  规定了 指针指向的二维数组的列数为3

理解了,谢谢你。
作者: zhudong100    时间: 2015-10-26 10:16
liyang783 发表于 2015-10-23 22:26
明天就要开始学啦!

坚持,一起加油!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2