char * a;
const char * b;
char * const c;
const char * const d;