鍋あり谷あり

テーマを決めずに適当に書いています。

私の知らないC言語

先日、また知らなかった仕様をひとつ知った。

#include <stdio.h>

int main()
{
  int a = {3};
  printf( "%d\n", a );
  return 0;
}

int a[]={3}; と同じように、int a={3}; と書いてもいいらしい。
何のために許しているのかは、全く知らない。
どんな歴史的経緯なのか。あるいはなにかメリットがあるのか。