
在开始前根据网友给的问题精心整理了一些C语言的资料无偿分享给大家需要的同学评论888即可拿走
如果你在C语言中声明了变量但没有初始化,有以下几个情况:
1.局部变量(Stack) :
存储在栈上的局部变量,如果你没有初始化,比如int localVar;,它的值将包含内存中的残留数据,这些数据是随机的,可能是之前函数调用留下的内容。
2.局部静态变量(Static Storage):
局部静态变量,如static int staticVar;,如果在函数内部声明且没有初始化,它们会被自动初始化为零。这是因为C标准规定,局部静态变量会被自动初始化为零值。
3.全局变量和静态全局变量(Static Storage) :
全局变量,如int globalvar,,如果没有初始化,它们会被自动初始化为零。这是因为C标准规定,全局变量和静态变量(不包括动态分配的内存)会被自动初始化为零值。
静态全局变量,如static int staticGlobalVar;,同样会被自动初始化为零。
4.动态分配的内存(Heap) :
使用malloc 或realloc 分配的内存不会自动初始化,其值将包含堆内存中的残留数据,这些数据同样是随机的。
使用calloc分配的内存会被自动初始化为零。
