![]() |
VOOZH | about |
In C, array parameters are treated as pointers mainly to,
It is inefficient to copy the array data in terms of both memory and time; and most of the time, when we pass an array our intention is to just refer to the array we are interested in, not to create a copy of the array.
The following two definitions of fun() look different, but to the compiler, they mean exactly the same thing.
void fun(int arr[]) {
// body
}
// This is valid
void fun(int *arr) {
// body
}
// This is valid too
It's preferable to use whichever syntax is more accurate for readability.
Note: If the pointer coming in really is the base address of a whole array, then we should use [ ].
Example: In this example, the array parameters are being used as pointers.
The sum of the array is: 15 The sum of the array is: 15