Usando #define en el programa C

1 minuto de lectura

avatar de usuario
Oliver Spryn

estoy tratando de usar #define para definir una constante en mi programa. Me doy cuenta de que podría usar constpero estoy tratando de obtener una buena comprensión de #define. ¿Podría alguien explicar por qué el siguiente código no funciona y debería hacerse en su lugar?

#include <stdio.h>
#define M 20;
typedef int Marray_t[M][M]; //I can't define an M x M array

int main() {
  Marray_t A;
  int i;

  for (i = 0; i < M; ++i) { //Can't iterate up to M
    A[i] = i;
  }

  return 0;
}

avatar de usuario
nabroyan

debes eliminar ; después20como esto

#define M 20

  • Oh… lo estaba definiendo como 20;. ¡Totalmente no pensé en eso! Gracias.

    –Oliver Spryn

    17/03/2013 a las 18:41


  • Además, si como yo eres un idiota y pones = asignación en definir, intenta eliminarlo. Esto muestra cuánto me desagradan las definiciones y cómo ya no uso C lo suficiente.

    – MrMesees

    2 de julio de 2017 a las 9:09

¿Ha sido útil esta solución?