将数组从一个函数传递到另一个函数

时间:2018-01-25 14:38:51

标签: c arrays parameter-passing

这就是我想要做的事情:

int randomtal(void){
  int loop;
  int tal[10];
  srand(time(0));

  for(loop = 0; loop < 10; loop++){
      tal[loop] = rand() % 10+1;
  }
  return tal;
}


int upp1(int argc, const char * argv[]) {
   int Tal[10];
   Tal[] = randomtal();
   return 0;
}

只需randomtal()函数生成10个数字并将它们放在一个数组中。然后我想将此数组传递给upp1()函数并将它们放在Tal数组中。基本上在函数tal[]中复制randomtal()并将其传递给函数Tal中的upp1()

1 个答案:

答案 0 :(得分:2)

您可以更改函数以接受数组作为参数。并且因为作为函数参数的数组实际上是指向数组的第一个元素的指针,所以函数中数组的更改将反映在调用者中。

void randomtal(int tal[10]){
  int loop;
  srand(time(0));

  for(loop = 0; loop < 10; loop++){
      tal[loop] = rand() % 10+1;
  }
}


int main(int argc, const char * argv[]) {
   int Tal[10];

   randomtal(Tal);

   return 0;
}
相关问题