RicardasSim

calloc

Jan 2nd, 2019
710
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main (int argc, char **argv){
  6.  
  7.     int i;
  8.    
  9.     //calloc - allocate and zero initialize array
  10.     char* buff1 = calloc(10,1);
  11.  
  12.     if(buff1)
  13.     {
  14.        
  15.         for(i=0;i<10;i++)
  16.         {
  17.             printf("%02X ",buff1[i]);
  18.         }
  19.         printf("\n");
  20.        
  21.         buff1[0]='a';
  22.         buff1[1]='b';
  23.         buff1[2]='c';
  24.         buff1[3]='d';
  25.         buff1[4]='e';
  26.         buff1[5]='f';
  27.         buff1[6]='g';
  28.         buff1[7]='h';
  29.         buff1[8]='i';
  30.        
  31.         for(i=0;i<10;i++)
  32.         {
  33.             printf("%02X ",buff1[i]);
  34.         }
  35.         printf("\n");
  36.        
  37.         //buff1 zero terminated, buff1[9] is 0
  38.         printf("%s\n",buff1);
  39.        
  40.         free(buff1);
  41.     }
  42.  
  43.  
  44.     int* buff2 = calloc(10,sizeof(int));
  45.  
  46.     if(buff2)
  47.     {
  48.        
  49.         for(i=0;i<10;i++)
  50.         {
  51.             printf("%08X ",buff2[i]);
  52.         }
  53.         printf("\n");
  54.        
  55.         buff2[0]=0x0f0f0f0f;
  56.         buff2[1]=65535;
  57.         buff2[2]=789;
  58.        
  59.         for(i=0;i<10;i++)
  60.         {
  61.             printf("%08X ",buff2[i]);
  62.         }
  63.         printf("\n");
  64.  
  65.        
  66.         free(buff2);
  67.     }    
  68.    
  69. return 0;
  70. }
  71.  
  72. /*
  73. 00 00 00 00 00 00 00 00 00 00
  74. 61 62 63 64 65 66 67 68 69 00
  75. abcdefghi
  76. 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  77. 0F0F0F0F 0000FFFF 00000315 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  78.  */
Advertisement
Add Comment
Please, Sign In to add comment