fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void push( void** stack, int* top, void* data, size_t size )
  5. {
  6. unsigned i;
  7. ++*top;
  8.  
  9. stack[*top] = malloc( size );
  10.  
  11. for( i = 0; i < size; ++i )
  12. ( (char*)stack[*top] )[i] = ( (char*)data )[i];
  13.  
  14. }
  15.  
  16. int main()
  17. {
  18. void* stack[10];
  19. int top = -1;
  20. int data = 10;
  21. char ch = 'a';
  22.  
  23. push( stack, &top, (void*)&data, sizeof( int ) );
  24.  
  25. push( stack, &top, (void*)&ch, sizeof( char ) );
  26.  
  27. printf( "%d ", *(int*)stack[0] );
  28. printf( "%c ", *(char*)stack[1] );
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0.01s 1808KB
stdin
Standard input is empty
stdout
10 a