发布网友 发布时间:2022-05-16 03:48
共3个回答
热心网友 时间:2023-10-10 13:00
这个不一定的,要看你这块内存是怎么分配的。如果是全局变量的话,这块内存是程序装入内存后的.bss段,一般操作系统的程序装载器会对没有初始化的符号进行清0操作。如果是临时变量,是在分配在程序栈上的,程序一般不会对栈进行清0操作,所以可能会是你无法预知垃圾数据。为什么不清0,因为没必要,因为C语言对栈的操作只是通过移动栈指针(寄存器)来实现的。这些可能需要你有一点计算机的组成和系统结构知识才能理解。热心网友 时间:2023-10-10 13:00
不管什么数组,只要有显式初始化,未显式初始化的部分同时隐式初始化。对静态存储类和线程存储类的数组,没有显示初始化则隐式零初始化。热心网友 时间:2023-10-10 13:01
这个没研究过,其实你可以先初始化一个字符数组,然后用循环语句把数组的内容打印出来不就知道了?追问这是编译软件导致的吗