En el desarrollo de programas, los números mágicos se utilizan para referirse a números con significados especiales dispersos por todo el código, de modo que cuando la constante necesita modificarse a otro valor, hay que buscar en el código uno por uno. Cuando la cantidad de código es grande, es más fácil cometer errores. Una buena práctica de codificación es definir un identificador constante para estos números, de modo que cuando necesite modificar el valor, solo necesite modificar la definición del identificador en lugar de buscar los números en el código para modificarlos uno por uno.
Por ejemplo, existe un programa de este tipo:
main()
{
int data[6];
int i;
for (i = 0; i<6;i++) scanf("%d", &data[i]);
for (i = 0; i <6;i++) printf("%d ", data[i]);
}
El 6 aquí es un número mágico, que representa la longitud de este array. Cuando Al realizar cambios, debe modificar 3 lugares en el código al mismo tiempo.
Una buena práctica es codificar así:
#define LEN 6
main()
{
int datos[LEN];
int i;
for (i = 0; i for (i = 0; i } De esta manera , cuando desee modificar este valor, solo necesita modificar la definición de la línea #define LEN 6 en lugar de modificarla una por una en el código.