После прочтения вашего комментария о том, что он должен быть статическим, вы, вероятно, захотите определить его как внешний, а не статический как статический. Это означает, что все, что включает это определение, получает свою СОБСТВЕННУЮ копию (т. Е. Копия не используется всеми файлами, которые включи его).
Extern означает, что вам нужно будет определить его где-нибудь в файле c / cpp, но вы должны определить его только один раз, а затем любой модуль компиляции, который включает этот extern, будет использовать ту же структуру.
Конечно, вы, возможно, захотите, чтобы у каждого модуля компиляции была своя копия переменной, и в этом случае вам нужен static.