RicardasSim

size in chars aligned to sizeof(int)

Mar 9th, 2019
679
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.97 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. unsigned int getSizeInCharsAlignedToInt(unsigned int iSizeInChars)
  5. {  
  6.     return (iSizeInChars+(sizeof(int)-1))/sizeof(int)*sizeof(int);
  7. }
  8.  
  9. int main (int argc, char **argv){
  10.  
  11.     printf("sizeof int: %zu\n", sizeof(int));
  12.    
  13.     printf("(0): %d\n",getSizeInCharsAlignedToInt(0));
  14.     printf("(1): %d\n",getSizeInCharsAlignedToInt(1));
  15.     printf("(2): %d\n",getSizeInCharsAlignedToInt(2));
  16.     printf("(3): %d\n",getSizeInCharsAlignedToInt(3));
  17.     printf("(4): %d\n",getSizeInCharsAlignedToInt(4));
  18.     printf("(7): %d\n",getSizeInCharsAlignedToInt(7));
  19.     printf("(8): %d\n",getSizeInCharsAlignedToInt(8));
  20.     printf("(14): %d\n",getSizeInCharsAlignedToInt(14));
  21.     printf("(16): %d\n",getSizeInCharsAlignedToInt(16));
  22.     printf("(31): %d\n",getSizeInCharsAlignedToInt(31));
  23.    
  24. return 0;
  25. }
  26.  
  27. /*
  28. output:
  29.  
  30. sizeof int: 4
  31. (0): 0
  32. (1): 4
  33. (2): 4
  34. (3): 4
  35. (4): 4
  36. (7): 8
  37. (8): 8
  38. (14): 16
  39. (16): 16
  40. (31): 32
  41.  
  42. */
Advertisement
Add Comment
Please, Sign In to add comment