Uninitialized pointers contain garbage, random addresses. Dereferencing them crashes or corrupts data. Initialize before using. Use nullptr when you don't have an address: int* ptr = nullptr.
This means "points to nothing". Check if(ptr != nullptr) before dereferencing. I always initialize to nullptr unless assigning a real address immediately. Dereferencing nullptr crashes with clear error.
Garbage causes unpredictable behavior.