¿Por qué #define no requiere un punto y coma?
Estaba escribiendo un código de prueba enC. Por error había insertado un;
después de#define
, lo que me dio errores. ¿Por qué no se requiere un punto y coma para#define
s?
Más específicamente :
Método 1: obras
const int MAX_STRING = 256;
int main(void) {
char buffer[MAX_STRING];
}
Método 2: No funciona - error de compilación.
#define MAX_STRING 256;
int main(void) {
char buffer[MAX_STRING];
}
¿Cuál es la razón del comportamiento diferente de esos códigos? ¿Esas dos MAX_STRINGs no son constantes?