Обычно, когда мы передаем массив по его имени, его вызов по адресу. Это означает, что если мы изменим любое значение массива вне main()
, оно будет отражено в main()
.
Итак, что мне делать, если я хочу передать массив как аргумент функции и вызвать его внутри main()
, чтобы любое изменение в этой функции не отражалось внутри main()
?
Например:
void Foo(int arr[]) //takes an integer array `arr` as argument
{
// do something with `arr
}
int main()
{
int abc[]={5,1,2,9};
//do something to pass `abc` inside `Foo` so that changes inside `Foo` doesn't change the value of `abc` array.
}
Теперь я хочу передать массив abc
в Foo
по значению.