局部变量的话,一般的定义就在局部里,如哪个函数内部,所以,每调用的时候都会先给它赋初值,分配内存再执行,等执行完毕,变量的内存将释放,那个局部变量自然就又不知道是多少去了,当你没有给变量赋初值的时候,那个初值是随机错误的一个数,所以一般在使用之前一定要先初始化。不然会出现不明的错误
C语言不赋值时会是系统给它分配内存时内存中的随机值,不像VB,VB不赋值系统默认给它的值为0,如果你退出函数,再进去时重新分配内存的话值就改变,按理来说C语言是先赋值后使用的,如果是局部变量应该是会报错的,除非你的全局变量中有它的声明和赋值。
int f()
{
int a = 5;
return 1;
}
当执行一次结束后,变量a也就释放了,消失了,当再次执行时声明的a已经不是上次的a了,已经是再次声明的一个变量了,如果在换成这个static int a = 5;那么执行结束后,a不会释放,下次执行时还是这个a,且值是保存的,而不是重新声明一个
没初始化当然不行
出始值本来就是随机值