Question: This question HAS had to be asked before, so it kills me to ask it again, but I can't find it for all of my google and searching stackoverflow.

I'm porting a bunch of linux code to windows, and a good chunk of it makes the assumption that everything is automatically initialized to zero or null. 

```
int whatever;
char* something;

```

...and then immediately doing something that may leave 'something' null, and testing against 'something'

```
if(something == NULL)
{
.......
}

```

I would REALLY like not to have to go back throughout this code and say:

```
int whatever = 0;
char* something = NULL;

```

Even though that is the proper way to deal with it. It's just very time consuming.

Otherwise, I declare a variable, and it's initialized to something crazy if I don't set it myself.

Answer: 
This option doesn't exist in MSVC, and honestly, whoever coded your application made a big mistake. That code is not portable, as C/C++ say that uninitialized variables have an undefined value. I suggest setting the "treat warnings as errors" option and recompiling; MSVC *should* give you a warning every time a variable is used without being initialized.
What I ended-up doing was switching to /w4. At this level, it caught most of the "yeah, that's going to be an issue" areas of initialization. Otherwise, there's nothing that can change everything from being 0xcccccccc on initialization to 0x00000000 that I saw.

Massive thanks to everyone for answering this, and yes, we will tighten it up in the future.