#include <stdio.h>

typedef struct item {
  int data;
  struct item * next;
} Item;

int main ()
{
  char carray[16];
  char * cp = (char *) malloc(16 * sizeof(char));
  
  printf("char\t\t%d bytes\n", sizeof(char));
  printf("unsigned char\t%d bytes\n", sizeof(unsigned char));
  printf("short\t\t%d bytes\n", sizeof(short));
  printf("unsigned short\t%d bytes\n", sizeof(unsigned short));
  printf("int\t\t%d bytes\n", sizeof(int));
  printf("unsigned int\t%d bytes\n", sizeof(unsigned int));
  printf("long\t\t%d bytes\n", sizeof(long));
  printf("unsigned long\t%d bytes\n", sizeof(unsigned long));
  printf("float\t\t%d bytes\n", sizeof(float));
  printf("double\t\t%d bytes\n", sizeof(double));
  printf("carray\t\t%d bytes\n", sizeof(carray));
  printf("cp\t\t%d bytes\n", sizeof(cp));
  printf("Item\t\t%d bytes\n", sizeof(Item));  

  return 0;
}
