Maison >développement back-end >C++ >Qu'est-ce qui détermine l'ordre d'évaluation des paramètres de fonction en C et C ?
Ordre d'évaluation des paramètres de fonction
En C et C , l'ordre dans lequel les paramètres de fonction sont évalués n'est pas spécifié par les normes du langage.
Ordre d'évaluation
Selon la norme C99, l'ordre d'évaluation de les paramètres ne sont pas spécifiés. Cependant, il existe un point de séquence avant l'appel de fonction réel, ce qui signifie que toutes les évaluations de paramètres sont garanties de se terminer avant l'exécution de la fonction.
En C , l'ordre d'évaluation des arguments n'est pas non plus spécifié. Les effets secondaires de toutes les expressions d'argument se produisent avant la saisie de la fonction.
Implémentation des appels de fonction
Les normes C et C n'exigent pas que les appels de fonction soient implémentés à l'aide du matériel. empiler. Il s'agit d'un détail d'implémentation laissé au compilateur et à la plateforme. Dans la pratique, cependant, les architectures les plus populaires utilisent la pile matérielle pour le passage des paramètres.
Informations contradictoires
Une confusion concernant l'ordre d'évaluation des paramètres peut résulter d'informations incomplètes ou incorrectes dans livres. Les normes linguistiques constituent la source d'information définitive sur ce sujet. Les versions officielles C99 et C11, ainsi que la version publique C, sont disponibles en ligne et fournissent des indications claires à ce sujet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!