如何在C

时间:2019-03-18 00:26:01

标签: c

您可以像这样在C中创建函数数组:

(*funcs[3]) = {
  fna,
  fnb
};

想知道是否可以做同样的事情,但要处理数据类型或结构。

当我这样做时:

struct foo[3] = {void, int, char};

我收到此错误:

error: expected identifier or '('
  struct foo[3] = {void, int, char};

目标是我试图从va_listva_arg的数组中动态获取数据类型:

va_arg(my_va_list, foo[1]);

想知道是否有这种可能。

这类似于从函数返回数据类型的想法。像这样:

type
return_integer_type() {
  return int;
}

如果也有可能,那将很有趣,但不是原始问题。

1 个答案:

答案 0 :(得分:-2)

我认为这种见识也许可以帮助您:

static STRUCTURE_NAME *STRUCTURE_OBJECT_NAME[NUMBER_OF_STRUCTURE_OBJECTS];

例如:

struct foo
 {
   int x;
 };
static foo *fooo[3];