GCC รองรับ syntax เฉพาะสำหรับกำหนดค่าซ้ำใน array initialization
Syntax
[start ... end] value
ตัวอย่าง
int array[10] = {[0 ... 4]3, [6 ... 9]5};
หมายถึง: index 0-4 = 3, index 6-9 = 5, index 5 = 0 (default)
โค้ดตัวอย่าง
#include <stdio.h>
int main() {
int array[10] = {[0 ... 4]3, [6 ... 9]5};
for (int i = 0; i < 10; i++) printf("%d ", array[i]);
return 0;
}
ผลลัพธ์
3 3 3 3 3 0 5 5 5 5
หมายเหตุ: เป็น GCC extension ไม่ใช่ standard C