字符串不是 char 指针
C 里的 char * 很强,也很模糊。
它可能表示一段可变字节,可能表示 NUL 结尾字符串,可能表示 ASCII 文本,也可能只是某个 C API 要求的参数。调用者还要自己知道:这段内存归谁释放,里面有没有 \0,编码是什么,长度从哪里来。
C 里的 char * 很强,也很模糊。
它可能表示一段可变字节,可能表示 NUL 结尾字符串,可能表示 ASCII 文本,也可能只是某个 C API 要求的参数。调用者还要自己知道:这段内存归谁释放,里面有没有 \0,编码是什么,长度从哪里来。