Définition de Structure

Utilisateur anonyme - 5 avril 2006 à 22:56
BunoCS Messages postés 15474 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 22 avril 2024 - 6 avril 2006 à 09:42
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 avril 2006 à 23:00
Une version:

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

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Utilisateur anonyme
5 avril 2006 à 23:02
Oui mais je souhaiterais savoir comment faire sans typedef (meme si le typdef ça simplifie la vie )
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
5 avril 2006 à 23:04
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
0
Utilisateur anonyme
5 avril 2006 à 23:18
juste pour informatique
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 avril 2006 à 03:07
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;<
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 avril 2006 à 03: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
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 avril 2006 à 03:20
Ben oui mais il voulait comprendre l'équivalent de typedef sans typedef lol :D

if(!Meilleur("Joky")) return ERREUR;<
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 avril 2006 à 03:22
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
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 avril 2006 à 03:25
Ben si :(
Le code que j'ai mit montre avec et sans typedef comment faire la même chose.

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

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 avril 2006 à 03:31
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;<
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 avril 2006 à 03:34
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
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 avril 2006 à 03:37
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;<
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 avril 2006 à 03:39
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
0
BunoCS Messages postés 15474 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 22 avril 2024 103
6 avril 2006 à 09:42
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
0
Rejoignez-nous