Définition de Structure

-
Messages postés
15213
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 janvier 2022
-
Voila j'ai une petite question sur la definition des structure :



struct liste



{



int valeur;



struct liste *suivant;



};



typedef struct liste liste_s ,*pt_cellule,*liste;



Ensuite pour utiliser cette structure je fais une initialisation de type : "pt_cellule tete=NULL;" (par exemple grace au typedef ). Maintenant si j'enleve le typedef ça donne donc : "struct liste liste_s ,*pt_cellule,*liste;"
mais comment je fais pour initiliser ma structure dans un sous
programme now? car avec le typedef ça va tout seul mais sans ???
J'espere que je me suis fais comprendre



Merci d'avance

15 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Une version:

typedef struct _LISTE {
int val;
_LISTE *suivant;
} LISTE, *LPLISTE;

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++

Oui mais je souhaiterais savoir comment faire sans typedef (meme si le typdef ça simplifie la vie )
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
La méthode de Brunews est la bonne. Comprend pas pourquoi tu veut le faire sans typedef?

___________________________________________
Les plus grands esprits trouvent toujours une solution

juste pour informatique
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
ben typedef ça veut juste dire remplacer ce terme par ce terme donc en gros :

#include <stdlib.h>

struct Liste {
int a;
int b;
};

typedef struct Liste* LPLISTE;

int main()
{
struct Liste* pList;
LPLISTE pList2;

pList = malloc(sizeof(struct Liste));
pList2 = malloc(sizeof(struct Liste));

pList->a = 5;
pList->b = 10;

pList2->a = 5;
pList2->b = 10;

system("PAUSE");
return 0;
}

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
C'est la même chose que
typedef struct _Liste {
int a;
int b;
} LISTE, *LPLISTE;

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Ben oui mais il voulait comprendre l'équivalent de typedef sans typedef lol :D

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
typedef sans typedef???? Ouin si on veut :). Mais pour ce qu'il veut faire. Ya pas moyen de se passer de typedef?

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Ben si :(
Le code que j'ai mit montre avec et sans typedef comment faire la même chose.

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
A ouais? Mais pourtant, je vois clairement un typedef moi.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Lol mais y'a les deux exemples dedans rooo
Voilà sans typedef :p

include <stdlib.h>

struct Liste {
int a;
int b;
};

int main()
{
struct Liste* pList;

pList = malloc(sizeof(struct Liste));

pList->a = 5;
pList->b = 10;

system("PAUSE");
return 0;
}
if(!Meilleur("Joky")) return ERREUR;<
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
aaaaaaaaaaa bon okiiiiiiiiiiiiiiiiiiiiii. C'est claire maintenant. Ouaip c la solution. Ta raison et j'ai tors(encore). Mais bon, je vois pas pourquoi ne pas utiliser typedef. Ça va tellement mieu avec (ben pas tellement mais bon).

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Moi je trouve que l'utilisation de typedef est très utile
J'trouve que ça permet de considérer ses propres structures comme des types primitifs lol
Mais bon après y'a le côté utile
genre

typedef UINT unsigned int;
où bien plein de choses de ce genre

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Oui oui. C'est ce que je pense aussi. C'est pour ça que je comprend pas pourquoi il ne veut pas l'utiliser.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
15213
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 janvier 2022
101
Des fois, ça peut être génant de "typedefer ses struct" (désolé, c'est pas très français...), justement parce tu ne sais plus si tu as affaire avec un type de base ou non.
En embarqué, notamment, c'est bien de savoir ce que tu manipules....

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage