หากฮีปมีการกำหนดค่าเริ่มต้นเป็นศูนย์เพื่อความปลอดภัยแล้วทำไมสแต็กจึงไม่มีการกำหนดค่าเริ่มต้นเพียงอย่างเดียว
บนระบบ Debian GNU / Linux 9 ของฉันเมื่อทำการไบนารี่ สแต็กถูกกำหนดค่าเริ่มต้น แต่ ฮีปจะถูกกำหนดค่าเริ่มต้นเป็นศูนย์ ทำไม? ฉันสมมติว่า zero-initialization ส่งเสริมความปลอดภัย แต่ถ้าฮีปแล้วทำไมไม่สแต็กล่ะ? สแต็กก็เช่นกันไม่ต้องการความปลอดภัยหรือไม่? คำถามของฉันไม่เฉพาะเจาะจงกับ Debian เท่าที่ฉันรู้ ตัวอย่างรหัส C: #include <stddef.h> #include <stdlib.h> #include <stdio.h> const size_t n = 8; // -------------------------------------------------------------------- // UNINTERESTING CODE // -------------------------------------------------------------------- static void print_array( const int *const p, const size_t size, const …