В C++ Я знаю, что объекты static и global создаются перед функцией main. Но, как вы знаете, в C такого типа initialization procedure до main нет.
Например, в моем коде:
int global_int1 = 5;
int global_int2;
static int static_int1 = 4;
static int static_int2;
- Когда эти четыре переменные инициализированы?
-  Где значения для инициализации, такие как 5и4, сохраняются во время компиляции? Как управлять ими при инициализации?
EDIT: 
Уточнение второго вопроса.
-  В моем коде я использую 5для initializeglobal_int1, так как компилятор назначает5наglobal_int? Например, возможно, компилятор сначала сохранит значение5где-нибудь (т.е. Таблицу) и получит это значение при начале инициализации.
- Что касается "Как управлять ими при инициализации?", это очень неопределенно, и я сам не понимаю, как интерпретировать. Иногда нелегко объяснить вопрос. Остерегайтесь этого, так как я еще не полностью изучил этот вопрос.
