Advertisement
BlueBear

mallocimplement.c

Oct 17th, 2012
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <string.h>
  5.  
  6. void *point;
  7.  
  8. void *memory_alloc(unsigned int size)
  9. {
  10.     //printf("malloc...\n");
  11.     void *ptr;
  12.     ptr=point;
  13.     unsigned int i=0, memsiz;
  14.     while(i!=size)
  15.     {
  16.         memsiz=ptr+i;
  17.         if(memsiz==NULL)
  18.         {
  19.             i++;
  20.         }
  21.         else
  22.         {
  23.             memsiz=ptr+i;
  24.             i++;
  25.         }
  26.         //printf("%p\n", memsiz);
  27.     }
  28.     //printf("malloc end...\n");
  29.     return ptr;
  30. }
  31. void memory_free(void *ptr)
  32. {
  33.     //printf("freeing mem...\n");
  34.     unsigned int i,memsiz;
  35.     if(point!=ptr)
  36.     {
  37.         printf("Invalid pointer!");
  38.         return 1;
  39.     }
  40.     unsigned int size=sizeof(ptr);
  41.     for(i=0;i<=size;i++)
  42.     {
  43.         memsiz=ptr+i;
  44.         memsiz=NULL;
  45.     }
  46.     //printf("freemem end...\n");
  47. }
  48.  
  49. void memory_init(void *ptr, unsigned int size)
  50. {
  51.     //printf("meminit...\n");
  52.     unsigned int i;
  53.     point=ptr;
  54.     for(i=0;i<=size;i++)
  55.     {
  56.         ptr=ptr+i;
  57.         ptr=NULL;
  58.     }
  59.     //printf("meminit end...\n");
  60.  
  61. }
  62.  
  63. int main()
  64. {
  65.     char region[50];
  66.     memory_init(region, 50);
  67.  
  68.     char* pointer = (char*) memory_alloc(10);
  69.     if (pointer)
  70.         memset(pointer, 0, 10);
  71.     if (pointer)
  72.         memory_free(pointer);
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement