Как создать массив типов данных / структур в C - PullRequest
2 голосов
/ 18 марта 2019

Вы можете создать массив функций в C следующим образом:

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

Хотите знать, можете ли вы сделать то же самое, но для типов данных или структур.

Когда я делаю:

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

Я получаю эту ошибку:

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

Цель состоит в том, чтобы я пытался динамически получить тип данных из массива для va_list и va_arg:

va_arg(my_va_list, foo[1]);

Интересно, возможно ли что-нибудь подобное.

Это похоже на идею возврата типа данных из функции. Что-то вроде:

type
return_integer_type() {
  return int;
}

Если это тоже возможно , было бы интересно узнать, но не оригинальный вопрос.

1 Ответ

0 голосов
/ 18 марта 2019

Я думаю, что это понимание может помочь мне:

static STRUCTURE_NAME *STRUCTURE_OBJECT_NAME[NUMBER_OF_STRUCTURE_OBJECTS];

Например:

struct foo
 {
   int x;
 };
static foo *fooo[3];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...