289Fermer291
SallyLe 22/04/2009 à 21:04
Tu ne peux pas l'utiliser dans plusieurs fonctions, tu fais une déclaration locale là... donc si tu ne l'utilises pas dans cette même fonction c'est normal qu'il la vire purement et simplement.

Bon, je vais récapituler. La syntaxe du C est moisie mais en gros :[ul][li]<identifiant> = <expression>; a pour effet d'évaluer <expression> et d'affecter le résultat à la variable nommée <identifiant>, qui doit avoir été préalablement déclarée. Si plusieurs variables portent ce nom (c'est tout à fait possible), on prend celle qui est la plus locale.[/li][li]<type> <identifiant> = <expression>; a pour effet de créer une nouvelle variable, appelée <identifiant>, et initialisée avec la valeur de <expression>. La variable sera locale si on est dans une fonction, globale sinon.[/li][li]<type> <identifiant>; a le même effet que le précédent sauf que la variable n'est pas initialisée.[/li][li]extern <type> <identifiant>; n'a pas d'effet, il déclare qu'il existe une variable nommée identifiant et que son type est celui indiqué.[/li][/ul]
Ici tu as utilisé la syntaxe correspondant au deuxième point, il s'agit donc d'une création de variable, et comme tu es dans une fonction cette variable est locale. C'est ce que j'essayais d'expliquer en ./257.