你都是在栈上声明的数组,并没有申请动态内存,因此这些数组的值都是随机的。虽然第一个初始化且赋值了,但并没有直接打印。第一个打印的还是随机的。
栈中的变量通常包括函数参数和函数里声明的临时变量。
栈中的基本变量退出其作用域时,没有谁执行一段代码去释放/销毁/析构它所占用的内存,仅仅是没人再去理会的留在当前栈顶上方的若干遗留下来可被后续压栈操作覆盖的无用数据而已。
而栈中的类变量退出其作用域时,会自动执行其析构函数,……
所谓在栈中“申请”N字节的空间,其实只是将栈指针寄存器(16位sp,32位esp,64位rsp)的值多减N而已。