is this form of intializing an array to all 0s
char myarray[ARRAY_SIZE] = {0}
supported by all compilers? ,
if so, is there similar syntax
Yes, I believe it should work and it can also be applied to other data types.
For class arrays though, if there are fewer items in the initializer list than elements in the array, the default constructor is used for the remaining elements. If no default constructor is defined for the class, the initializer list must be complete — that is, there must be one initializer for each element in the array.