Original Post
I am assuming the lack of type safety in C is the reason why I can do this? In theory I can then load any array with binary code and execute it. I was reading how the windows kernel (use to or still does) overwrite function pointers in order to redirect execution flow to another function. This is quite interesting.
char tst = {
'a','b'
} ;
int main (int argc, const char * argv[]) {
void (*fp)() ;
fp = tst ;
}