typestar

Macros tipo objeto en C

Un define es sustitución textual, hecha antes de que el compilador vea tu código.

#define MAX_STARS 3
#define GREETING "welcome"
#define BUFFER_SIZE (256 * 4)

int stars_available(void) {
    int buffer[8];
    (void) buffer;
    return MAX_STARS;
}

size_t greeting_length(void) {
    return sizeof GREETING - 1;
}

int buffer_bytes(void) {
    return BUFFER_SIZE;
}

Cómo funciona

  1. No hay tipo ni alcance, solo reemplazo.
  2. Un enum o un const suele ser la mejor constante.
  3. Quitar la definición y redefinir es legal, y eso es parte del peligro.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
265
Tokens
50
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 32 segundos.

Escribe este fragmento

Paso 1 de 4 en Macros; paso 1 de 12 en Preprocesador y encabezados.

Siguiente →