matthieu> parce qu'il faut du code pour initialiser la variable avec malloc(), et il faut que le code en question se trouve dans une fonction...
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
edit:j'avais ecris un petite betise
bon g encore un bleme,comment ca marche scanf ???
quand je fais ca, camarche pas :
int t=0;
scanf("%d",t);
tigcc dit: format argument is not a pointer (arg5) ?!
oui dsl , jmen sui rendu compte apres avoir posté
Sally Le 10/07/2004 à 13:04 oui enfin le typedef n'est pas indispensable, tu peux aussi faire en C comme dans ton premier exemple (mais sûrement pas virer le struct)

« Le bonheur, c'est une carte de bibliothèque ! » —
The gostak distims the doshes.Membrane fondatrice de la confrérie des
artistes flous.
L'univers est-il un
dodécaèdre de Poincaré ?
(``
·\ powaaaaaaaaa ! #love#
Et en C++, tu peux le virer le struct ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Il me semble sasume ... pke le struct est en fait une classe en C++
Meuh non moi aussi j'ai mis un typedef donc pas besoin de remplacer quoi que ce soit.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
oui dsl y'a eu un cross
en fait si y'a des malloc c'est parce que ss malloc c'a fait protected memory violation, c'est ca qui me derange
quant à p1=(liste*)p2->psuiv=malloc(sizeof(liste)); voila ce que ca fait :
dans p2 on a le dernier element de la liste car p2->psuiv=0; il faut donc lui allouer la memoire necessaire pour pointer sur un nouvel element de la liste, c pkoi je fais p2->psuiv=malloc(sizeof(liste)); ensuite si je met ce pointeur dans p1 c'est parceque tigcc refuse categoriquement de mettre deux '->' a la suite, il lui faut un pointeur intermediaire :
tigcc rfuse p2->psuiv->data mais accepte, p1=p2->psuiv; p1->data
par contre si j'enleve p1->psuiv=NULL; ca ne marche que 1 fois ensuite, adress error
Sally Le 10/07/2004 à 14:09 adress error ça veut dire que tu fais free sur une adresse qui n'est pas le résultat d'un malloc.

« Le bonheur, c'est une carte de bibliothèque ! » —
The gostak distims the doshes.Membrane fondatrice de la confrérie des
artistes flous.
L'univers est-il un
dodécaèdre de Poincaré ?
(``
·\ powaaaaaaaaa ! #love#
Sally Le 10/07/2004 à 14:16 Sinon je crois qu'avec tigcc les variables globales (comme là pini si j'ai bien suivi) ne sont pas réinitialisées à chaque exécution si le programme n'est pas archivé ; ça peut peut-être poser des problèmes.

« Le bonheur, c'est une carte de bibliothèque ! » —
The gostak distims the doshes.Membrane fondatrice de la confrérie des
artistes flous.
L'univers est-il un
dodécaèdre de Poincaré ?
(``
·\ powaaaaaaaaa ! #love#
tu dois passer par un pointeur de pointeur sur liste por pouvoir modifier pini dans ajout
Link Le 10/07/2004 à 17:47 je crois qu'il avait mis pini en var globale...

Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.