打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
7.4 函数和二维数组
  • 数组名被视为其地址,相应的形参是一个指针。

int data[3][4] = {{1, 2, 3, 4}, {9, 8, 7, 6}, {2, 4, 6, 8}};
int total = sum(data, 3);

data的类型是指向由4个int组成的数组的指针。其函数原型如下:

int sum(int (*ar2)[4], int size);
or
int sum(int ar2[][4], int size)

① 函数参数不能是数组。

② ar2是指向数组的指针,指向由4个int组成的数组。因此,指针类型指定了列数。

函数定义:

int sum(int ar2[][4], int size)
{
  int total = 0;
  for(int r = 0; r < size; r++)
    for (int c = 0; c < 4; c++)
      total += ar2[r][c];
  return total;
}

① 行数被传递给size参数,列数是固定的(=4)。

② ar2指向数组的第一个元素,则 ar2 + r 指向编号为 r 的元素。

③ 必须对ar2执行两次解除引用,才能得到数据。ar2[r][c] == *(*(ar2 + r) +c)。

④ 声明参数ar2时,没有使用const。因为ar2是指向数组的指针,而const只能用于指向基本类型的指针。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言中数组作为函数的参数以及返回值的使用简单入门
C++ 传递数组给函数 | 菜鸟教程
C语言中最常用标准库函数
C语言|用函数指针调用函数可以增加被调函数的通用性和灵活性
有关指针的复杂类型
C语言二维数组做函数参数的几种情况
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服