(probablement c'est une chose stupide mais) j'ai un problème avec une mise en œuvre de la pile en langage C, quand je tente de le vider, la fonction pour vider la pile fait une boucle infinie .. le sommet de la pile n'est jamais nul. où je commets une erreur? Merci salut!problème lorsque vous essayez de vider une pile dans c
#include <stdio.h>
#include <stdlib.h>
typedef struct stack{
size_t a;
struct stack *next;
} stackPos;
typedef stackPos *ptr;
void push(ptr *top, size_t a){
ptr temp;
temp = malloc(sizeof(stackPos));
temp->a = a;
temp->next = *top;
*top = temp;
}
void freeStack(ptr *top){
ptr temp = *top;
while(*top!=NULL){
//the program does an infinite loop
*top = temp->next;
free(temp);
}
}
int main(){
ptr top = NULL;
push(&top, 4);
push(&top, 8);
//down here the problem
freeStack(&top);
return 0;
}
ohh oui merci c'était une chose voir vraiment stupide, mais je ne l'ai pas vraiment merci: D – frx08