只能說…我真的懂 C 語言嗎?
剛才在 zao 學弟那裡看到關於 C array 初始化的一種方式:
[code lang=”c”]
int main()
{
int x[10]=
{
[1]=2, [9]=7, [6]=4, [3]=1, [0]=5,
[2]=8, [4]=9, [5]=6, [7]=0, [8]=3,
};
int i;
for(i=0; i < 10; i++)
printf("x[%d]=%dn", i, x[i]);
return 0;
}
[/code]
結果:
x[0]=5
x[1]=2
x[2]=8
x[3]=1
x[4]=9
x[5]=6
x[6]=4
x[7]=0
x[8]=3
x[9]=7
原來 C 還是有很多事情是我不知道的 XD
那個 Compiler 阿? @@
我拿 gcc 3.2.3 & VS.net 2005 都不會過耶@@
可是我 gcc-3.3 / gcc-4.0 都可以耶。
[quote comment=””]可是我 gcc-3.3 / gcc-4.0 都可以耶。[/quote]
C99 規格書 §6.7.8 引進了這種新語法,第 130 頁也舉了個例子:
enum { member_one, member_two };
const char *nm[] = {
[member_two] = “member two”,
[member_one] = “member one”,
};