A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© skywan 中级黑马   /  2015-7-21 21:18  /  644 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

二维数组的使用和一维数组无大区别,在函数传参注意以下几点:
1.数组元素作为函数的参数时,传递的是值。
2.数组名作为函数的参数时,传递的是数组的首地址。
在传递过程中,要保证类型和长度一致。
下面是一个小例子,巩固知识。调用二维数组的初始化i*j函数以及二维数组的遍历函数
  1. //二维数组的初始化i*j函数
  2. void initAr(int m,int n,int a[m][n]){
  3.         for (int i = 0; i < 5; i++){
  4.                 for (int j = 0; j < 3; j++){
  5.                         a[i][j] = i*j;
  6.                 }
  7.         }
  8. }
  9. //二维数组的遍历函数
  10. void printAr(int m, int n, int a[m][n]){
  11.         for (int i = 0; i < 5; i++){
  12.                 for (int j = 0; j < 3; j++){
  13.                         printf("%d\n",a[i][j]);
  14.                 }
  15.         }
  16. }

  17. int main(int argc, char *argv[])
  18. {
  19.         //定义变量
  20.         int m, n;
  21.         //输入并接收用户输入的值
  22.         printf("请输入数组的行数和列数,用逗号分隔:\n");
  23.         scanf("%d,%d",&m,&n);
  24.         int ar[m][n];//构建数组,在xcode可以实现,接收变量
  25.         //调用初始化函数
  26.         initAr(m,n,ar);
  27.         //调用遍历函数
  28.         printAr(m, n, ar);
  29.         return 0;
  30. }
复制代码

1 个回复

倒序浏览
应该明天会学到吧。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马