В 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где-нибудь (т.е. Таблицу) и получит это значение при начале инициализации. - Что касается "Как управлять ими при инициализации?", это очень неопределенно, и я сам не понимаю, как интерпретировать. Иногда нелегко объяснить вопрос. Остерегайтесь этого, так как я еще не полностью изучил этот вопрос.