¿Variables locales o globales? Analizando su impacto

Explicamos el impacto de las variables locales y globales en nuestros programas en C para Amstrad CPC. Vemos cómo el compilador de C incluído en CPCtelera convierte nuestro código a ensamblador. Utilizamos un sencillo ejemplo que dibuja una matriz en pantalla usando printf. Primero vemos las diferencias de espacio en memoria. Después analizamos a qué se deben. Por último, observamos cómo estas diferencias se plasman en el binario que nuestro Amstrad cargará en memoria para ejecutar.

El programa analizado simula un pequeño mapa de lo que podría ser un juego. El mapa se define como una matriz de 10x10 elementos de tipo u8 (8 bits sin signo). La pregunta viene a la hora de crear y almacenar ese mapa. ¿Lo creamos como variable local o global? A continuación mostramos los dos códigos de ejemplo.

Primera versión: map definido como variable local a main