This is valid because in the first statement j is declared as an integer variable means the memory will be allocated to j, by default the allocated memory will contain the garbage value. In the second statement the address of j will be be saved in Pointer variable I.