I am learning Zig and the string types confuse me. @TypeOf("hello") prints *const [5:0]u8, functions in the standard library take []const u8, and C functions want [*:0]const u8. When I tried to build a table of command names with const names = [_][]u8{ "adc", "uart", "spi" }; the compiler rejected it until I added const in the middle.
What do these types actually mean, why is the const required, and what should my own functions accept?




