int *x=(int*)12345;
ね。ただし
int *x= (const int*)&12345;
は通らないね。
同様に
char *s=(const char*)&'A';
もNG.
リテラルだけは特別で暗黙的に
char *s=(const char*)&("const char"[0]);
と解釈される。これは慣習であるとしかいいようが
ない。因習というほどのものでもないとオモ