21xrx.com
2025-04-03 16:54:50 Thursday
文章检索 我的文章 写文章
C++中的数组参数
2023-07-05 21:07:19 深夜i     15     0
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++中的数组是一种非常实用的数据类型,我们可以将它们直接作为函数的参数进行传递,并在函数中对数组进行操作。这种方式可以提高程序效率,并且让程序变得更加简洁。

  
  

评论区

请求出错了