La sortie de la fonction suivante est "int *", ce qui signifie que le paramètre formel est converti en un pointeur entier. Y a-t-il une raison nécessaire à cette conception? Pourquoi ne pouvons-nous pas réserver le type de tableau?Pourquoi le type de tableau du paramètre formel d'une fonction a-t-il été converti en pointeur?
// 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;
}
Voir aussi cette réponse: http://stackoverflow.com/questions/3264611/arguments-in-a-function-prototype/3264641#3264641 –