У меня есть функция foo (int [] nums)
, которая, как я понимаю, по сути эквивалентна в foo (int * nums)
. Внутри foo
мне нужно скопировать содержимое массива, на который указывает nums
, в некоторый int [10]
, объявленный в рамках foo
. Я понимаю, что следующее неверно:
void foo (int[] nums)
{
myGlobalArray = *nums
}
Как правильно скопировать массив? Должен ли я использовать memcpy так:
void foo (int[] nums)
{
memcpy(&myGlobalArray, nums, 10);
}
или мне следует использовать цикл for?
void foo(int[] nums)
{
for(int i =0; i < 10; i++)
{
myGlobalArray[i] = nums[i];
}
}
Есть ли третий вариант, который мне не хватает?