C Programming - Arrays
- Arrays - General Questions
- Arrays - Find Output of Program
- Arrays - Point Out Correct Statements
- Arrays - Yes / No Questions
Yes, It is possible to allocate a block of memory (of arbitrary size) at run-time, using the standard library's malloc function, and treat it as an array.
No, Mentioning the array name in C or C++ gives the base address in all contexts except one.
Syntactically, the compiler treats the array name as a pointer to the first element. You can reference elements using array syntax, a[n], or using pointer syntax, *(a+n), and you can even mix the usages within an expression.
When you pass an array name as a function argument, you are passing the "value of the pointer", which means that you are implicitly passing the array by reference, even though all parameters in functions are "call by value".
int fun(int arr[]);
int fun(int arr[2]);
No, both the statements are same. It is the prototype for the function fun() that accepts one integer array as an parameter and returns an integer value.