21xrx.com
2024-11-22 09:36:44 Friday
登录
文章检索 我的文章 写文章
C++数组作为函数输入的方法
2023-06-25 20:57:50 深夜i     --     --
C++ 数组 函数输入 方法

在C++编程中,数组是最常用的数据类型之一。当我们需要对一个数组进行操作时,经常需要将它作为函数的输入参数传递过去。在这篇文章中,我们将介绍C++数组作为函数输入的方法。

1. 使用指针作为函数参数

最常见的做法是将一个数组的地址作为指针传递给函数,这是C++中最常用的方法。下面是一个简单的例子:


#include <iostream>

using namespace std;

void printArray(int *arr, int size)

{

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

  {

    cout << arr[i] << " ";

  }

  cout << endl;

}

int main()

{

  int arr[] = 1;

  int size = sizeof(arr) / sizeof(arr[0]);

  printArray(arr, size);

  return 0;

}

在这个例子中,我们定义了一个函数`printArray`,它接受一个整数类型的指针地址和数组的大小。指向数组的指针被传递给函数,然后函数打印数组的所有元素。

2. 传递数组的引用

传递数组的引用也是一种比较常见的方法。这种方法通常比使用指针更加方便和易读。下面是一个例子:


#include <iostream>

using namespace std;

void printArray(int (&arr)[5])

{

  for(int i = 0; i < 5; i++)

  {

    cout << arr[i] << " ";

  }

  cout << endl;

}

int main()

{

  int arr[] = 2;

  printArray(arr);

  return 0;

}

在这个例子中,我们定义了一个函数`printArray`,它接收一个整数类型的数组引用。这个引用传递给函数时,它就指向了原始数组。然后函数使用这个引用访问原始数组中的元素并打印它们。

3. 使用指向数组的指针

我们还可以将数组作为指针,然后传递指向该指针的指针。下面是一个例子:


#include <iostream>

using namespace std;

void printArray(int **arr, int rows, int cols)

{

  for(int i = 0; i < rows; i++)

  {

    for(int j = 0; j < cols; j++)

    {

      cout << arr[i][j] << " ";

    }

    cout << endl;

  }

}

int main()

{

  int arr[][3] = { 1, 5, 7 };

  int rows = sizeof(arr) / sizeof(arr[0]);

  int cols = sizeof(arr[0]) / sizeof(int);

  int *pointerArr[3];

  for(int i = 0; i < rows; i++)

  {

    pointerArr[i] = arr[i];

  }

  int **p = pointerArr;

  printArray(p, rows, cols);

  return 0;

}

在这个例子中,我们定义了一个函数`printArray`,它接收一个指向一个指针数组的指针作为参数。然后我们将原始数组赋值给指针数组中的每一个指针,再将指针数组传递给函数。

总结

在C++中,数组是最常用的数据类型之一,经常需要将其作为函数输入参数进行操作。我们可以使用指针或引用来传递数组。除了以上提到的方法外,还有其他更高级的方法,例如使用STL容器类或模板,这些更高级的方法基于指针和引用。在做选择时,应该根据实际情况选择最适合的方法。

  
  

评论区

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