C liste liée fonction push, juste vérifier si c'est correct

Donc je me demande si cette fonction push, ce qui pousse une nouvelle valeur à la liste, pile est correct

void push(node** hd, int v){
node temp;
temp = (node*)malloc(sizeof(node));
temp -> val = v;
temp -> next = *hd;
*hd = temp;

}

Merci d'avance!

Aussi je me demandais comment je pourrais faire une fonction de bruit, à la pop la plus récemment poussé valeur hors de la pile.

La structure du code ressemble à ça en passant...

typedef struct nodeStruct
{
int val;
struct nodeStruct* next;
}node;

typedef node* list;
  • Cela ressemble fort à il a des problèmes. SUGGESTION: pourquoi ne pas compiler et l'exécuter sous le débogueur?
  • Je ne sais pas comment utiliser mon débogueur gdb, comme je suis à court de temps pour finir ce que je vais certainement apprendre pour l'avenir.. :\ Si le problème est évident, j'aimerais juste savoir. C'est ma première fois à l'aide de Listes Liées, et je ne suis pas si grand avec les pointeurs en seulement C.
  • Votre modifier réellement fait qu'aggraver les choses. Veuillez relire la réponse de @William Morris. (et je suis d'accord: typedeffing pointeurs seulement augmente la confusion)
InformationsquelleAutor Man Person | 2012-11-05