21xrx.com
2025-04-27 13:19:41 Sunday
文章检索 我的文章 写文章
C++中如何传递新的数组
2023-06-22 15:39:51 深夜i     11     0
传递数组 动态数组 指针参数 大小传递 动态内存分配

在C++中,传递新的数组是一种非常常见的操作。这是因为,在很多情况下,我们需要在程序的不同部分之间传递数组,以实现不同的功能。同时,有时候我们也需要在函数中动态地创建新的数组,并将其传递给其他函数。

在C++中,传递新的数组有两种方法:传递指针和传递引用。

当我们使用指针传递数组时,我们需要在函数的参数中使用数组指针。这样,在函数中,我们就可以使用指针来访问数组的元素。在动态创建新的数组时,我们可以使用 new 运算符来分配内存,然后将返回的指针传递给函数。

下面是一个使用指针传递新的数组的示例代码:

#include <iostream>
#include <cstdlib>
using namespace std;
void func(int *ptr, int size)
{
  for(int i=0; i<size; i++)
  {
    cout << ptr[i] << " ";
  }
  cout << endl;
  
  // 释放内存
  delete[] ptr;
}
int main()
{
  int size;
  cout << "请输入数组大小:";
  cin >> size;
  
  // 动态创建新的数组
  int *ptr = new int[size];
  
  // 初始化数组
  for(int i=0; i<size; i++)
  {
    ptr[i] = i+1;
  }
  
  // 调用函数
  func(ptr, size);
  
  return 0;
}

在上面的示例代码中,我们使用 new 运算符动态创建了一个新的数组,并将其传递给了 func 函数。在函数中,我们通过指针来访问数组的元素,并最后释放了内存。

另外一种传递新的数组的方法是使用引用。当我们使用引用传递数组时,函数的参数中使用引用来接收数组。这样,在函数中,我们就可以直接访问数组的元素,而无需使用指针。

下面是一个使用引用传递新的数组的示例代码:

#include <iostream>
using namespace std;
void func(int (&arr)[5])
{
  for(int i=0; i<5; i++)
  {
    cout << arr[i] << " ";
  }
  cout << endl;
}
int main()
{
  int arr[5] = 3;
  
  // 调用函数
  func(arr);
  
  return 0;
}

在上面的示例代码中,我们使用引用来传递数组。在函数中,我们直接使用 arr 来访问数组的元素。

总结起来,我们可以使用指针或引用来传递新的数组。在动态创建新的数组时,我们需要使用 new 运算符来分配内存,并最后需要使用 delete 或 delete[] 来释放内存。而当我们使用引用传递数组时,我们直接在函数的参数中使用数组的引用,并直接访问数组的元素即可。

  
  

评论区

请求出错了