As already said, the printf reads sizeof(int) bytes from location that starts with the address of aCChar and interpretes those bytes as an integer. You have set bits of the first byte, but are those bits are even used for the same purpose in char and int types?
Undefined behaviour. That is what your program invokes and that is what you see.
More notes:
Why do you include both iostream and stdio.h even though you don't use anything from one of those headers?
Why do you include stdio.h? A C++ program should use cstdio instead. (A wrapper to same header.)
In addition to being more specific and thus avoiding some errors, it is easier to find C++-style casts from code, because "_cast" is a decent search word. The C-style cast lacks such uniqueness.