In C, the list of initializers is defined as follows:
initializer:
assignment-expression
{ initializer-list }
{ initializer-list , }
In C ++, it is defined as follows
braced-init-list:
{ initializer-list ,opt }
{ }
As you can see, C ++ allows an empty list of element lists, while the list of C initializers cannot be omitted.
So you can write in C ++
int x[4] = {};
C ( , ).
int x[4] = { 0 };
.