מצרף קוד
נסיתי להגדיר מחסנית שתכיל כתובות למבנים מסוג node. המימוש הוא בעזרת מערך סטטי בגודל N כאשר התא הראשון במערך הוא מונה של מספר האיברים במחסנית. אני לא מצליח לכתוב את פונקציות הpush הפשוטה שתפקידה לשים בתא מספר 1 של המחסנית את כתובת הnode שהקצאתי בmain. #include <stdio.h> #include <stdlib.h> #include <conio.h> #define node struct node #define N 10 node { char x; }; typedef node* stack[N]; /* int is_empty (char *s) { return !s[0]; } */ void push (stack s,node *r) { if( (*s[0]) < N-1) *s[++(*s[0])]=r; else printf ("\nError!!!"); } /* void pop (stack *s) { if(!is_empty(s)) --s[0]; else printf("\nStack underflow!!!"); } */ void print (stack s) { int i=(s[0]); if(is_empty(&s)) puts("\nEmpty stack"); while (i) printf("\n%c",s[i--]); } /* char top (stack s) { int i=(*s[0]); if(!is_empty(*s)) return (*s); else return ´ ´; } */ void main() //Print Options Menu { stack s={0}; node *r; r=(node *)malloc(sizeof(node)); r->x=´+´; push(s,&r); }