The output of the following function is "int *", which means the formal parameter is converted to a integer pointer. Is there any necessary reason for this design? Why can't we reserve the array type?
// the output is "int *"
#include<typeinfo>
void Func(int ar[5])
{
printf("%s\n", typeid(ar).name();
}
int main()
{
int ar[5];
Func(ar);
return 0;
}