Oliver Spryn
estoy tratando de usar #define
para definir una constante en mi programa. Me doy cuenta de que podría usar const
pero 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;
}
nabroyan
debes eliminar ;
después20
como 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