[gull] Subtilité de C n° 4 : déclaration de struct

JM Nunes Jose-Manuel.Nunes at sophne.net
Wed Apr 23 01:12:04 CEST 2008


Ça fait longtemps que je ne fais pas de C, donc ce qui suit c'est 
peut-être des souvenirs (ou cauchemars ;-)).

...
>> Il y a une erreur de compilation car la structure s est incomplètement
>> déclarée, et qu'on n'a pas le droit d'utiliser sizeof sur un type
>> incomplètement déclaré, nuance. ;-)
Par contre un pointeur vers une structure peut bien exister sans 
structure aussi bien que toutes opérations avec le pointeur tant que la 
connaissance de la taille occupé en mémoire n'est pas nécessaire.
Donc un struct s *ps n'a pas besoin d'être précédé par une struct s ...

Et là j'ai une question dont la réponse je crains, à la lecture de ce 
topique, n'avoir jamais su. Quel est le scope qui réserve un struct s;, 
dans d'autres termes, dans quel scope peut être complétée cette 
déclaration de type?
Je pense à

struct s;
...
struc s {...};

et à
struct s;
...
{struct s {...};}


Merci d'avance.



More information about the gull mailing list