Or for that matter, int l[3] = {10,10,10};
no, no, it is "1" (one)!
Really the first time I see such a declaration.
then it's incorrect, and perhaps a typo, or someone is trying to
confuse you.
This won't compile under any compiler and it's not valid under any C
standard.
Predicting what "any compiler" will do is a fools game.
Compilers are permitted to offer extensions provided that the
meaning of valid C programs is not changed. A compiler could,
if it choose, define
int 1[3] = {10,10,10};
as meaning that the values 10, 10, and 10 are to be stored starting at
absolute (virtual) address 0x1 . Or starting at absolute virtual address
0x0 + 1 * sizeof(int) .
But more likely is that the original poster misread a
lower-case-L in a bad font, or that the code is in a comment
or in an #if section that was not true on the developer's system.
My absolute virtual address musings do not seem -likely- to
ever be implemented... but ya never know.