Central Docs
Catálogo Inicio

03. `chain` y `buffer`

chain representa texto constante y puede pedir solo Len_t:

func print_text(text: chain, length: Len_t) void:
    return

func main() int32:
    print_text("Hola")
    return 0

La longitud incluye el byte NUL. Para el literal "Hola", Len_t vale 5. Un chain no puede declararse como puntero y el compilador solo puede calcular su longitud directamente cuando el valor es constante o cuando la expansión ya fue propagada.

buffer[] también usa solo Len_t, tomado del descriptor:

func fill(data: buffer[], length: Len_t) void:
    if length > 0:
        data[0] = 1
    return

Size_t no aplica a buffer: el descriptor representa unidades de byte y el tamaño sería siempre 1. Un buffer tampoco se convierte silenciosamente en un array o en un puntero crudo.