K&R C 中的数组是如何初始化的?

How were arrays initialized in K&R C?

在 K&R C(2nd) 127p,

The main change made by the ANSI standard is to define structure assignment-structures may be copied and assigned to, passed to functions, and returned by functions. This has been supported by most compilers for many years, but the properties are now precisely defined. Automatic structures and arrays may now also be initialized.

'Automatic structures and arrays may now also be initialized.'是什么意思?我读 this.
并且写在261p(附录C部分。修改概要)

Automatic structures, unions, and arrays may be initialized, albeit in a restricted way.

我得到以下代码在 K&R C(1st) 中是不允许的。

int main()
{
    int a[3] = { 1, 2, 3 };
    struct { int a; char b; } x = { 1, 2 };
}

那你能解释一下当时数组和结构是如何初始化的吗?
关注的地方有点混乱,'automatic'到'global'或'now be initialized'到“无法初始化”。

据我了解,对于自动存储的structure、union和array类型的变量,在定义时的那个时间点初始化是不允许的。必须使用单独的赋值语句为它们赋值。示例:

  • 对于数组,它会遍历元素并一个一个地赋值。
  • 对于结构,访问成员并分配它们。