what's this syntax ?

John Love-Jensen eljay@adobe.com
Wed Mar 28 14:31:00 GMT 2007


Hi Michael,

I think the '...' is called an ellipsis in the array initializer.

So you can do something like:

int array[10] = { [4] = 9, [1 ... 2] = 88, [7 ... 9] = 1 };

It's valid C99 code.

IIRC, it's *NOT* valid C90 or C++98 code.  (I'm not sure if GCC provides
convenience extensions that you may have to disable in a C90 or C++98
environment.)

You may find this output of interest:

gcc -S test.c
cat test.s

HTH,
--Eljay



More information about the Gcc-help mailing list