21xrx.com
2024-12-22 22:03:53 Sunday
登录
文章检索 我的文章 写文章
C++中的数组参数
2023-07-05 21:07:19 深夜i     --     --
C++ 数组 参数 传递 指针

在C++中,数组是一种非常重要的数据类型,它可以用来存储一组具有相同数据类型的变量。我们常见的数组有一维数组和二维数组,它们都可以作为函数的参数进行传递。

对于一维数组,我们可以将它声明为函数的形式参数,在函数内部进行操作。例如,下面的代码演示了如何将一个一维数组传递给函数。


void func(int arr[], int size) {

  for (int i = 0; i < size; i++) {

    arr[i] *= 2;

  }

}

int main() {

  int a[] = 1;

  int len = sizeof(a) / sizeof(a[0]);

  func(a, len);

  for (int i = 0; i < len; i++) {

    std::cout << a[i] << " ";

  }

  return 0;

}

在上面的代码中,数组a是函数func的形参,而数组a在main函数中定义。函数func对数组a进行了操作,将数组中的每个元素都乘以2,最后输出结果为2 4 6 8 10。

对于二维数组,我们也可以将它声明为函数的形式参数,在函数内部进行操作。例子如下:


void func(int arr[][3], int row, int col) {

  for (int i = 0; i < row; i++) {

    for (int j = 0; j < col; j++) {

      arr[i][j] *= 2;

    }

  }

}

int main() {

  int a[][3] = { 3, 4, 7};

  int row = sizeof(a) / sizeof(a[0]);

  int col = sizeof(a[0]) / sizeof(a[0][0]);

  func(a, row, col);

  for (int i = 0; i < row; i++) {

    for (int j = 0; j < col; j++) {

      std::cout << a[i][j] << " ";

    }

    std::cout << std::endl;

  }

  return 0;

}

在上面的代码中,数组a是函数func的形参,而数组a在main函数中定义。函数func对数组a进行了操作,将数组中的每个元素都乘以2,最后输出结果为2 4 6 8 10 12 14 16 18。

需要注意的是,在函数声明中,必须指定数组的维度,否则编译器会抛出错误。同时,数组作为函数参数时,只是传递了数组的地址,所以在函数中对数组的修改会影响到原数组的值。

总之,C++中的数组是一种非常实用的数据类型,我们可以将它们直接作为函数的参数进行传递,并在函数中对数组进行操作。这种方式可以提高程序效率,并且让程序变得更加简洁。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复