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 ?

Qu'est-ce qui détermine l'ordre d'évaluation des paramètres de fonction en C et C ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 06:35:10447parcourir

What Determines the Evaluation Order of Function Parameters in C and 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn