int main() {
int[3] arr = { 11, 22, 33 };
}
错误:预期标识符或'(''''标记
之前的标识符据我记忆,在C中允许使用“int [3] arr”(NOT OK)或“int arr [3]”(OK)声明一个数组。我试图找到理由,但无济于事。我将不胜感激。
二手gcc版本:gcc(Ubuntu 5.4.0-6ubuntu1~16.04.1)5.4.0 20160609
答案 0 :(得分:3)
语法int[3] arr = { 11, 22, 33 };
实际上在D编程语言中使用,但在C和C ++中都是语法错误。
可以扩展C语法以允许这种替代语法,但我不知道这方面的提议。
另请注意,自C99起使用类似的语法:
printf("An array of 3 ints has a size of %zu bytes\n", sizeof(int[3]));
定义此数组的C语法是:
int arr[3] = { 11, 22, 33 };
请注意,如果您想要非传统,可以使用此语法访问数组元素:
for (int i = 0; i < 3; i++) {
printf("arr[%d] = %d\n", i, i[arr]);
}