J'allais à travers le thème de l'associativité des opérateurs de C.
Là, je suis tombé sur ce fait que l'appel de la fonction d'opérateur de ()
a une gauche à droite associativité. Mais l'associativité ne vient que pour jouer lorsque plusieurs opérateurs de même priorité se produire dans une expression. Mais je ne pouvais pas trouver un exemple impliquant appel de fonction de l'opérateur où l'associativité joue un rôle crucial.
Par exemple, dans l'énoncé a = f(x) + g(x);
, le résultat dépend de l'ordre d'évaluation et non pas sur l'associativité de la deux appels de fonction.
De même, l'appel f(g(x))
permettra d'évaluer la fonction g()
d'abord, puis la fonction f()
. Ici, nous avons une fonction imbriquée appel et, de nouveau, l'associativité n'est pas de jouer un rôle.
Les autres opérateurs de C dans ce groupe de priorité sont l'indice de tableau []
, postfix ++
et postfix --
. Mais je ne pouvais pas trouver des exemples impliquant une combinaison de ces opérateurs avec des ()
où l'associativité joue un rôle dans l'évaluation de l'expression.
Donc ma question est: l'associativité de l'appel de fonction étant définie comme la gauche vers la droite affecter n'importe quelle expression de C? Quelqu'un peut-il donner un exemple où l'associativité de l'opérateur d'appel de fonction ()
a de l'importance dans l'évaluation de l'expression?