APIs de lectura y de escritura en C
El const en la firma dice si una función cambiará lo que le entregas.
typedef struct {
int values[8];
size_t count;
} Series;
double series_mean(const Series *s) {
long total = 0;
for (size_t i = 0; i < s->count; i++) {
total += s->values[i];
}
return s->count ? (double) total / (double) s->count : 0.0;
}
int series_push(Series *s, int value) {
if (s->count >= 8) {
return 0;
}
s->values[s->count++] = value;
return 1;
}
Cómo funciona
- Un lector toma
const T *y promete no escribir. - Un escritor toma
T *y lo dice en el tipo. - El compilador hace cumplir la promesa, así que es documentación real.
Palabras clave y builtins usados aquí
constdoubleforifintlongreturnsize_tstructtypedef
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 354
- Tokens
- 127
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 76 segundos.
Paso 4 de 4 en Firmas; paso 4 de 11 en APIs, errores y pruebas.