หากข้อมูลเป็นตัวแปรคงที่หรือทั่วโลกข้อมูลจะถูกเติมเป็นศูนย์ตามค่าเริ่มต้นดังนั้นเพียงแค่ประกาศ myStruct _m;
หากข้อมูลที่เป็นตัวแปรท้องถิ่นหรือโซนกองจัดสรรล้างมันด้วยmemsetเช่น:
memset(&m, 0, sizeof(myStruct));
คอมไพเลอร์ปัจจุบัน (เช่นเวอร์ชันล่าสุดgcc) เพิ่มประสิทธิภาพที่ค่อนข้างดีในทางปฏิบัติ สิ่งนี้ใช้ได้เฉพาะในกรณีที่ค่าศูนย์ทั้งหมด (รวมถึงพอยน์เตอร์ว่างและจุดศูนย์ลอยตัว) แสดงเป็นศูนย์บิตทั้งหมดซึ่งเป็นจริงในทุกแพลตฟอร์มที่ฉันรู้ (แต่มาตรฐานCอนุญาตให้ใช้งานในกรณีที่เป็นเท็จฉันไม่รู้ว่าไม่มีการนำไปใช้) .
คุณอาจจะเขียนโค้ดmyStruct m = {};หรือ   myStruct m = {0};(แม้ว่าสมาชิกตัวแรกmyStructจะไม่ใช่สเกลาร์ก็ตาม)
ความรู้สึกของฉันคือการใช้memsetโครงสร้างโลคัลเป็นสิ่งที่ดีที่สุดและมันบ่งบอกถึงความจริงที่ว่าในรันไทม์ต้องทำบางอย่างได้ดีขึ้น (ในขณะที่โดยปกติข้อมูลส่วนกลางและข้อมูลคงที่สามารถเข้าใจได้ว่าเริ่มต้นในเวลาคอมไพล์โดยไม่มีค่าใช้จ่ายใด ๆ ในรันไทม์) .
               
              
= {};อย่างไรก็ตามฉันไม่แน่ใจว่าถูกต้องหรือไม่