: // 输入未定义的选项, 都会将该选项的值变为 ?...如果flag不为NULL, getopt_long会返回0, 并且将val的值存储到flag中
val - 将要被getopt_long返回或者存储到flag指向的变量中的值
下面是longopts的一个示例..., 即按如下形式--version, 0 表示该选项后面不带参数, NULL 表示直接将v返回(字符v在ascii码中对应的数值), 即在使用getopt_long遍历到该条选项时, getopt_long...返回值为字符v对应的ascii码值.
longindex
longindex表示长选项在longopts中的位置, 例如在上面的示例中, version 对应的 longindex 为0, name..., getopt_long 会返回0, 因此会去执行case 0, 并且 val 的值赋给了 flag 指向的变量.