![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
Obsidian
A priori, oui, mais je te suggère plutôt de te discipliner à déclarer tes variables en début de bloc. Ce n'est pas plus difficile et tu écriras ainsi du code beaucoup plus portable (au moins, à travers les différents compilos).
À noter que la nécessité de déclarer ces variables en début de bloc n'est pas une lubie des concepteurs du langage C. C'était nécessaire lorsque le programme était compilé en une passe, car il s'agissait de calculer la taille de l'espace réservé dans la pile, les instructions se référant aux variables locales à l'aide d'un offset fixe par rapport à un pointeur de base. Si une nouvelle variable était déclarée en milieu de bloc apparaissait, elle ne pouvait pas être traitée car du code pour une taille de pile donnée avait déjà commencé à être généré.
Donc, pour mélanger code et déclarations de variables, il faut que le compilo fasse plusieurs passes. Ce n'est plus un problème aujourd'hui, certes, mais il reste beaucoup plus lisible d'avoir ces déclarations regroupées au même endroit, et de s'attendre à quoi s'en tenir.
En plus, ça te causera moins de souci si tu passes après à des langages comme le C++. Dans ce dernier, les variables, qu'elles soient de type natif ou objet (instances de classes) peuvent officiellement être déclarées n'importe où, mais tu ne sauras pas forcément à quel moment elles seront initialisées. Et comme l'initialisation implique éventuellement l'appel d'un constructeur, ça peut provoquer des bugs assez pénibles à localiser.
Partager