怎么判断变量是否已被初始化

如何判断变量是否已被初始化?
假如说我声明了一个int 形变量a,请问我应当怎么写程序才能判断a是否已被赋值了呢?总不能来个if(a==-858993460)吧?这个数是我单步执行时发现如果不给a赋初值,编译器就会自动给a赋予的值。

------解决方案--------------------
定义变量时如果没有初始化,系统会给它一个随机值!所以,良好的编程习惯就是定义的时候就初始化!
------解决方案--------------------
我认为不赋初值在用的时候并不是随机选取,而是由C语言按设计好的规则在内存里找到符合规则的第一个可供使用的单元,直接使用里面的数据(而这个规则是什么,需要详细了解C语言的工作原理,监视程序工作时的每一个动作,就像是汇编里的debug -u,又或者打电话给C语言之父,问他是怎么回事)。用随机函数才是通过选定时间然后摇奖的方式随机选取。
如果你想了解得更清晰一点,建议你去学学汇编。