const a ambos lados en C
Dónde se sienta el const decide si se congela el puntero o lo apuntado.
size_t measure(const char *text) {
size_t n = 0;
while (text[n] != '\0') {
n++;
}
return n;
}
void variants(void) {
char buffer[] = "typestar";
const char *reader = buffer;
char *const anchored = buffer;
const char *const frozen = buffer;
reader = "elsewhere";
anchored[0] = 'T';
(void) measure(reader);
(void) measure(frozen);
}
Cómo funciona
const char *p: los caracteres son de solo lectura.char *const p: el puntero no puede reapuntarse.const char *const p: ninguno puede cambiar.
Palabras clave y builtins usados aquí
charconstreturnsize_tvoidwhile
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 331
- Tokens
- 105
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 70 segundos.
Paso 5 de 5 en Punteros; paso 5 de 25 en Punteros y memoria.