c++ - 将数组传递给函数然后更改值?

标签 c++ arrays function pointers

基本上,假设我在 int main() 中声明了一个数组,然后将它传递给另一个函数,那么我可以更改数组包含的值吗?像这样的东西:

int main()
{
  myarray[3] = {4, 5, 6};

  myfunc(myarray);

 return 0;
}

int myfunc(int myarray[])
{
  int x
  cout << "Choose a number";
  cin >> x

  if (x == 1)
   {
     myarray[] = {0, 1, 3}
   } 
  else
   {
     some code
   }

return 6;
}

这段代码显然无法通过编译,但我真的想不出任何其他方法来在函数内更改数组中的值。

最佳答案

您可以修改数组中的元素,但是初始化列表如下:

myarray[] = {0, 1, 3}

只能在声明数组时使用。要分配给数组,您必须单独分配每个元素:

myarray[0] = 0;
myarray[1] = 1;
myarray[2] = 3;

关于c++ - 将数组传递给函数然后更改值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542530/

相关文章:

c++ - 如何从 C++ 中的函数返回结构?

c++ - 用于多个 3d 阵列的 MPI_Scatterv 和 MPI_Gatherv

javascript - 是否可以使用 React-Native-HighCharts 加载带有外部数据的工具提示?

javascript - 我的if条件有什么问题

java - 从 C++ 代码运行 JVM 并设置类路径

c++ - 链表追加方法

c++ - 关于 MSVC 和 g++ 处理 C++ 模板代码的区别

c++ - 未解析的外部符号,即使我认为我链接正确(MSVC)

java - 初始化 Ellipse2D 数组时出错

Javascript 构造函数创建对象与常规对象