这是语法-[x]=‘;y’;在数组文字中-标准C?
我在回答C问题时看到过类似的情况。这是类似于Lua的语法标准C,还是某种编译器扩展?是的,该语法是自C99(1999年ISO C标准)以来的标准语法 这在C标准中有描述: (链接指向N1570草案的HTML版本,该版本与2011年出版的版本非常接近。) 指定的初始值设定项也可以用于结构和联合成员,语法为这是语法-[x]=‘;y’;在数组文字中-标准C?,c,syntax,C,Syntax,我在回答C问题时看到过类似的情况。这是类似于Lua的语法标准C,还是某种编译器扩展?是的,该语法是自C99(1999年ISO C标准)以来的标准语法 这在C标准中有描述: (链接指向N1570草案的HTML版本,该版本与2011年出版的版本非常接近。) 指定的初始值设定项也可以用于结构和联合成员,语法为.name=value,而不是[index]=value 指定的初始值设定项也可以用于复合文字:我相信这是C99标准中引入的指定初始值设定项。详细信息:C定义了stirng文字和复合文字,但不是数
.name=value
,而不是[index]=value
指定的初始值设定项也可以用于复合文字:我相信这是C99标准中引入的指定初始值设定项。详细信息:C定义了stirng文字和复合文字,但不是数组文字。
const char Table[256] = {
['a'] = 'a', ['A'] = 'a',
['b'] = 'b', ['B'] = 'b',
['c'] = 'c', ['C'] = 'c',
['d'] = 'd', ['D'] = 'd',
['e'] = 'e', ['E'] = 'e',
['f'] = 'f', ['f'] = 'f',
['g'] = 'g', ['g'] = 'g',
['h'] = 'h', ['H'] = 'h',
['i'] = 'i', ['I'] = 'i',
['j'] = 'j', ['J'] = 'j',
/* Etc */
};