18.1.3 Utilisation de typedef pour définir un type structuré

L'utilisation la plus fréquente de typedef concerne les structures et permet d'éviter l'écriture un peu lourde struct toto. On a déjà vu en détail comment employer typedef pour les types structurés dans le chapitre "Structures". Ce qui suit n'est qu'un résumé qui n'apporte rien de plus. Prenons l'exemple d'une structure permettant de décrire une courbe caractérisée par son nom, son nombre de points et les ordonnées de ses points (les abscisses sont supposées réparties de façon équidistante sur un intervalle donné). On désire donc créer un type structuré T_COURBE avec typedef :
Pour créer des variables structurées de ce nouveau type T_COURBE, il suffit d'écrire :
L'écriture T_COURBE n'est plus possible dans le cas d'une structure récursive (c'est‐à‐dire un type structuré dont un des champs est du même type structuré), car le compilateur doit connaître tous les mots qu'il rencontre pendant sa lecture linéaire du fichier à compiler. Voici un exemple de définition de structure récursive T_INDIVIDU :
Ici, le type structuré créé peut être désigné indifféremment par ses deux noms synonymes struct individu ou T_INDIVIDU. La deuxième appelation (plus courte) sera bien sûr toujours préférée, sauf à l'intérieur de la définition du type structuré où le mot T_INDIVIDU n'est pas encore connu du compilateur. Pour définir des variables structurées de type T_INDIVIDU, il suffit d'écrire :
|