dllbridge

Простейший (игрушечный) стек на языке Си

Oct 19th, 2020
479
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #include   <stdio.h>
  3.  
  4.  
  5.  
  6.  
  7. int stack[1024];                                // Выделяем 4Kb  ( 4096 байт памяти или  4 * 1024 ) для нашего стека
  8.  
  9. int         *sp,                                                                      //  Указатель на вершину стека
  10.               x,                                                                      //           Просто переменная
  11.               i;                                                                      //          Счётчик для циклов
  12.  
  13. #define push(sp, n) (*( (sp)++) = (n))
  14. #define  pop(sp)    (*--(sp))
  15.  
  16.  
  17.  
  18.  
  19. ////////////////////////////////////////////
  20. int main()                                //
  21. {  
  22.    
  23.     sp = stack;                           // initialize
  24.  
  25.     for(i = 5; i < 25; i ++) push(sp, i);
  26.     for(i = 0; i < 20; i ++)
  27.     {    
  28.         x = pop(sp);
  29.    
  30.         printf("x = %d \n", x);
  31.     }  
  32. }
  33.  
  34.  
  35.  
  36.  
  37.  
RAW Paste Data