How to call an array by reference ? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

How to call an array by reference ?

example : one way how to call an variable by reference can be : void funtion (int&); main(){ int x; funtion (×); return 0; } void funtion(int & x){ } ///////////////////////////////////// if I want to pass an array for value I do it in this way: void arrfuntion(int [], int); int main(){ int n=5, array[n]; arrfuntion(arr,n); return 0; } void arrfuntion(int arr[],int n){ } but my cuestion is : how can I pass an array parameter by reference? whitout using punter by the way.

5th Jun 2018, 2:37 AM
Link Skwor
Link Skwor - avatar
4 Answers
+ 3
Arrays cannot be passed by value, as an array is identified by the address of the first element, which is passed as the argument. This address cannot be an rvalue.
5th Jun 2018, 2:49 AM
Kinshuk Vasisht
Kinshuk Vasisht - avatar
+ 3
When you are passing an int by reference you are doing it to change the value "outside" of the function you are passing it to, correct? Well if you pass an array "by value" you are already doing that. If you change the array inside the function, you are also changing it outside. (This is because an array is just a pointer. A reference is also just a pointer. So from this perspective, they are the same.)
5th Jun 2018, 2:47 AM
Schindlabua
Schindlabua - avatar
+ 1
it is possible to pass arrays by reference. It just requires a different syntax here is an example: https://code.sololearn.com/c4taqIoSHAJ5/#cpp
5th Jun 2018, 4:03 AM
MO ELomari
0
really ? oooo wooo I did not realize that, I feel like a dumb ritgh now, millions of thanks for your time and answers.
5th Jun 2018, 2:56 AM
Link Skwor
Link Skwor - avatar