1
В программе предполагается реализовать стек для хранения и извлечения указателей на структуру. Структура содержит одну int и две структурные переменные. Функция Push работает нормально, но когда я набираю указатель структуры и пытаюсь получить доступ к данным, в ней возникает ошибка выполнения.стек хранения указателей структуры в c
#include<stdio.h>
#include<malloc.h>
#define MAX 10
struct node *arr[MAX];
int top=-1;
struct node* pop(){
if(top=-1)
return NULL;
else{
return arr[top--];
}
}
void push(struct node* d){
if(top==MAX-1)
return;
else{
arr[++top]=d;
}
}
int main(){
struct node* t = (struct node*)malloc(sizeof(struct node));
t->data=9;
push(t);
printf("%d",pop()->data);
return 0;
}
Вам не хватает 'free'. Просто подумать о том, как вы продолжаете работать над этим. – crashmstr
И в C не бросайте результат 'malloc'. –
Какая ошибка вы получаете? – Dana