gpt4 book ai didi

无法理解结构初始化

转载 作者:行者123 更新时间:2023-11-30 18:17:08 24 4
gpt4 key购买 nike

我遇到了困难的结构初始化。

    static struct option long_options[] =
{
/* These options set a flag. */
{"res", required_argument, NULL, 'r'},
{0, 0, 0, 0},
};

有人可以解释一下结构初始化吗?我只知道这样的结构:

struct point {
int x;
int y;
};

请有人解释一下。

最佳答案

C 和 C++ 是不同的语言。上述某些内容的含义取决于所考虑的语言是 C 还是 C++。

程序必须在您未向我们展示的代码部分中包含struct option声明。声明:

static struct option long_options[] =
{
/* These options set a flag. */
{"res", required_argument, NULL, 'r'},
{0, 0, 0, 0},
};

设置此类选项的数组。据推测,{0, 0, 0, 0} 标记了选项数组的结尾。它被称为 sentinel value .

struct optionslong_options 数组的第一个元素的元素设置为 "res"required_argumentNULL'r' 分别。

从初始化中,我们可以推断出struct option的元素是

  • 一个const char *
  • 无论 required_argument 的类型是什么。它可能是 intenum,甚至可能是 bool
  • 某种指针
  • int(如果是 C)或 char(如果是 C++)

关于无法理解结构初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29277428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com