The following code is undefined behavior in C++ (although it will work okay on almost any widely used implementation):
int* pointer; //uninitialized - likely
It's undefined behavior in C as well because on certain architectures, loading an invalid pointer into a register triggers a hardware fault.
See Is storing an invalid pointer automatically undefined behavior?