Lio con tamaño variables char

En primer lugar gracias por la explicación, te explicas super claro, vamos que he salido de dudas y me alegro primero por entenderlo del todo y segundo por haberlo hecho bien desde el principio, la verdad que hacia meses que no tocaba arduino y sabia por donde sonaba la flauta pero no quien la tocaba jajaja. Pero expongo mis conclusiones por si lo he entendido bien, siento ser igual un poco pesado pero me gusta saber como funciona, aunque mi nivel no es muy alto por lo menos entender lo que hago.

-lo de omitir el & es la razon por la que me funciona la omision de esa linea ya que asigno la direccion directamente al char que como dices es un puntero a los 20 bytes que reservo.
-no sabia que se podia declarar el int de esa forma, pero lo he probado y el compilador me da este error: "array must be initialized with a brace-enclosed initializer", esto ya lo pregunto por curiosidad.
-Entiendo que con int se ha que poner & porque ocupa dos bytes, y a diferencia del char que en si es un puntero a esas direciones ,aqui con & le tienes que pasar al puntero esas dos direcciones que ocupa no???