Utilisation de structure personnelle.
Bonjour,
Lors d'un cours de C, mon prof m'a dit quelque chose qui m'a énormément surpris, de par son expérience je le crois mais en tiquant un peu.
Suite à plusieurs lignes de codes qu'il nous a donné sur les listes doublement chainées, il y a un petit bug je me demande si cela ne vient de ce qui m'a choqué. Je vous explique, voici les structures sur lesquelles ont travaille :
Code:
1 2 3 4 5 6 7 8 9
|
typedef struct cellule
{
int val;
struct cellule *prec;
struct cellule *suiv;
} cellule;
typedef cellule* liste; |
Apres dans une fonction qui parcourt la liste pour l'afficher voilà ce qui fait
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
void print_liste (liste l)
{
liste tmp;
tmp = (liste) malloc( sizeof(cellule) );
tmp = l;
while(tmp != NULL)
{
printf("%d ",tmp->val);
tmp = tmp->suiv;
}
} |
Personnelement j'aurais plus fait un truc comme ca (i.e sans allouer de la memoire a l'aide de malloc() ):
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void print_liste (liste l)
{
liste tmp;
tmp = l;
while(tmp != NULL)
{
printf("%d ",tmp->val);
tmp = tmp->suiv;
}
} |
Mis à part le fait que mon prof cast le malloc() pourriez-vous me donner votre avis s'il vous plaît!
Merci d'avance