主题: 关于 `editorSyntax` 结构中大小不一致的问题
作者: bestcamper1创建于 2026年7月8日更新于 2026年7月8日
你好, 我对 C 编程还比较陌生, 如果我错了, 请原谅我。不过, 我在查看结构体时注意到, 存在大小不一致的问题。以下是结构体的定义:
struct editorSyntax {
char **filematch;
char **keywords;
char singleline_comment_start[2];
char multiline_comment_start[3];
char multiline_comment_end[3];
int flags;
};
我注意到, singleline_comment_start 以 2 个字符初始化为 "//", 这会剪掉结尾的空格, 使其不再是 C 字符串。 但是, 在多行注释的结束和开始时, 它留出了空格, 因为多行注释长度为 3 个字节, 而多行注释的开始和结束长度为 2 个字节。 因此, 2 个字节用于注释符, 1 个字节用于空格。
内容来源: antirez/kilo