ฉันต้องการอาร์เรย์ว่างขนาดใหญ่ใน C ในระดับโลก มีวิธีการอื่นนอกเหนือจากการพิมพ์หรือไม่
char ZEROARRAY[1024] = {0, 0, 0, /* ... 1021 more times... */ };
?
26
ถ่าน ZEROARRAY [1024] = {0};
หากคุณจำเป็นต้องจัดสรรหน่วยความจำบนฮีปคุณสามารถใช้ calloc () ตัวอย่างเช่น char * zeroarray = calloc (1024, sizoef (* zeroarray)); .
—
Andrei Ciobanu
NB calloc นั้นใช้ได้ผลดี
—
Adrian Ratnapala
char
แต่ถ้าคุณต้องการ array-of-pointers คุณควรตั้งค่าเป็น NULL อย่างชัดเจนไม่มีการรับประกันว่า NULL จะแสดงเป็นศูนย์ไบต์ สิ่งนี้แม้ว่าตัวอักษร0
โดยนัยหมายถึงตัวชี้โมฆะ
ซ้ำกันเป็นไปได้ของวิธีการเริ่มต้นอาร์เรย์ใน C
—
AechoLiu