在C语言中,如果你声明一个数组,必须指定数组的大小。这是因为C语言要求在编译时就知道数组的大小,以便正确分配内存和进行索引计算。这也是C语言数组的静态特性的一部分。

当写 int b[]; 时,编译器无法确定数组 b 的大小,因此会导致编译错误。如果你想要一个大小可变的数组,你应该使用指针和动态内存分配,或者使用C语言中的其他数据结构,如链表或动态数组。

int b[];//等价于int * const b,数组变量是const的指针,所以不能被赋值,是错误的写法