>why is referred two times the 'sizeof Msg1' (sizeof Msg1 / sizeof *Msg1) separated by '/' ?
The size of the array in bytes (sizeof Msg1) divided by the size of a single element in bytes (sizeof *Msg1) gives you the number of elements in the array. It's a way of avoiding magic numbers by calculating the number of elements at compile-time.