1. 首页
  2. 编程语言
  3. PHP
  4. 详解C语言未初始化的局部变量是多少

详解C语言未初始化的局部变量是多少

上传者: 2020-09-29 11:27:29上传 PDF文件 68.77KB 热度 15次

C语言中,未初始化的局部变量到底是多少?对于这种局部变量,它们的值取决于:。再看test_call函数,很明显,func3和func4调用使用的并不是同一个栈帧,因此即便是在func3中对c赋值了54321,也不会影响在其栈帧之上的func4的栈帧对应位置的值d。因此c和d的初始值均保持为0。那么,初始化一个局部变量和不初始化一个局部变量,在指令层面上,区别在哪里呢?总结一句, 函数返回在pop出当前栈帧的时候,并不会清理它遗留在栈帧里的数据,下个函数调用再次重用到该栈帧的内存时,未初始化的局部变量将会被遗留数据影响,从而变得不确定!

用户评论