Pointeur sur structure - C - Programmation
Marsh Posté le 29-10-2005 à 22:29:51
Code :
|
A propos du typedef : en C on évite de se trainer des struct partout alors on utilise typedef. En C++ ce mécanisme est devenu automatique.
Marsh Posté le 29-10-2005 à 22:42:33
ton affirmation sur le typedef est gratuite. Certains préfèrent n'utiliser typedef que pour des types opaques ou des types intégrés et veulent conserver le 'struct' pour ne rien cacher de la nature de la variable. Linux suit cette ligne.
Marsh Posté le 29-10-2005 à 22:52:27
ouais quand je dit "on evite", on c'est pas tout le monde. Mais sauf à le vouloir explicitement, il me semble que c'est mieux. Comme il débute, j'ai pensé qu'il utilisait struct uneStruct parce qu'il ne connaissait pas typedef.
Ou parce que son prof est un puriste
maintenant avec les éditeur modernes t'as plus besoin de tracer la nature des types, tu peux le demander à ton IDE. C'est comme la notation hongroise autrefois chère à microsoft avec i devant les int, sz devant les chaines... C'est lourd, dépassé et inutile maintenant.
Maintenant ceux qui codent avec VI bon ben ils assument
Marsh Posté le 29-10-2005 à 22:57:26
moi j'ai jamais trop compris cette parano du typedef. Je me souviens surtout des embrouilles quand j'ai appris le C : c'était toujours le bordel savoir où mettre le typedef, etc
Marsh Posté le 30-10-2005 à 10:59:19
un exemple classqiue :
Code :
|
point est un tableau de 2 double... faux ! la bonne syntaxe est contre-intuitive :
Code :
|
Marsh Posté le 30-10-2005 à 16:40:32
Merci pour vos reponses mais j'ai toujours un probleme... bon je vous montre le code, ca sera plus simple.
Code :
|
Voila ...
En fait, quand j'imprime arbre->element eh ben ce n'est pas 2 (par exemple), c'est l'adresse de l'entier.
A propos du typedef, on l'a vu mais on ne l'utilise pas (pour le moment). On nous l'a conseille surtout pour les declarations de types complexes.
Pour le moment je teste les struct et apres je continuerai avec les unions et les enumeres.
Marsh Posté le 30-10-2005 à 18:56:37
JusteMoiDeRetour a écrit : En fait, quand j'imprime arbre->element eh ben ce n'est pas 2 (par exemple), c'est l'adresse de l'entier. |
Pourquoi dis-tu ça ?
Si ça t'affiche une valeur à coucher dehors, c'est peut-être qu'il te manque une initialisation quelque part...
Marsh Posté le 29-10-2005 à 22:23:51
Bonjour a tous !
Voila, je debute en C depuis septembre. On a vu il y a qqs jours les structures...
J'ai donc essaye d'ecrire une version (simplifiee) d'un arbre binaire(trie) sous forme de liste chainee
Voici la structure :
struct uneStruct {
int element;
struct uneStruct * arbreL;
struct uneStruct * arbreR;
} arbreBinaire;
J'ai une methode void inserer (struct uneStruct * arbre, int elt)
Dans cette methode, je veux acceder a element et au deux autres arbres mais je n'y arrive pas.
Pour y acceder, j'ecris arbreBinaire->element
mais je me rend compte que je manipule les adresses et non le contenu des variables.
Comment puis je resoudre ce probleme?