typestar

Mantener privadas las auxiliares en C

static a nivel de archivo esconde una función de toda otra unidad de traducción.

#include <stddef.h>

static int is_vowel(char c) {
    return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}

static size_t count_if(const char *text, int (*test)(char)) {
    size_t n = 0;
    for (; *text; text++) {
        if (test(*text)) {
            n++;
        }
    }
    return n;
}

size_t count_vowels(const char *text) {
    return count_if(text, is_vowel);
}

Cómo funciona

  1. Una función static no puede llamarse desde otro archivo.
  2. Eso mantiene chica la superficie pública y libres los nombres.
  3. El linker ni siquiera ve el símbolo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
334
Tokens
124
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 71 segundos.

Escribe este fragmento

Paso 3 de 3 en Encapsulación; paso 7 de 11 en APIs, errores y pruebas.

← Anterior Siguiente →