Итак, я здесь с очень фундаментальным вопросом о пространстве стека. Я читал, что переменные в стеке должны быть известны во время компиляции, но я не уверен, насколько это точно. Возьмем этот фрагмент:
int main(int argc, char*argv[])
{
int numProcesses = argv[1];
int arr[numProcesses] = {};
...
}
Естественно, значение numProcesses и, следовательно, размер arr[] не могут быть известны компилятору во время компиляции. Итак, как, когда и где выделяется arr[numProcesses]? Спасибо за то, что я уверен, будет проницательным ответом.
alloca
. (Хотя alloca - нестандартная функция) - person user253751   schedule 20.02.2016