Clases de almacenamiento en C
static, extern y automático: dónde vive una variable y cuánto dura.
static int call_count = 0;
static int next_id(void) {
static int id = 100;
call_count++;
return id++;
}
int ids_taken(void) {
return call_count;
}
int take_three(int *out) {
for (int i = 0; i < 3; i++) {
out[i] = next_id();
}
return ids_taken();
}
Cómo funciona
- Una local
staticconserva su valor entre llamadas. - Una función o global
statices privada de su unidad de traducción. externdeclara algo definido en otro archivo.
Palabras clave y builtins usados aquí
forintreturnstaticvoid
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 250
- Tokens
- 79
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 53 segundos.
Paso 2 de 7 en Funciones; paso 16 de 35 en Fundamentos del lenguaje.