Types abstraites en c (pile)

Résolu/Fermé
anis - 25 sept. 2011 à 18:41
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 25 sept. 2011 à 19:13
Bonjour,
Je veux implémenter une pile en c. Mais je dois le faire de manière abstraite c'est à dire qu'elle n'est pas de type bien précis (int...). Comment je peux faire çà en c, car en java on déclare par exemple le type de l'information par "object" ce qui nous permet de piloter le type d'entrée d'une variable. Avez vous une idée s'il vous plait?

4 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 sept. 2011 à 18:48
En Java si tu mets Object ça veut dire que tu peux mettre n'importe quoi, en aucun cas tu n'imposes un type de données précis (contrairement aux templates <E> qui existent en Java et en C++) à mon avis ce qu'on te demande de faire c'est d'utiliser des pointeurs dans ta pile et vu qu'on parle de C je pense à des void*
0
a oui c'est vrai en peut utiliser les void* pour qu'on peut forcer les types qu'on veux à n'importe quelle variable.Merci beaucoup pour cette information.
0
mais j'ai une autre question, c'est que par exemple je défini la structure pile, je fais comme cà

typedef struct
{
void* inform;
pile* suiv;
} pile;
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 sept. 2011 à 19:13
Plutôt comme ceci je pense :

typedef struct s_pile
{
	void* inform;
	struct s_pile* suiv;
} *pile;
0