2015-02-18 3 views
1

Является ли память переменных массивов, выделенных во время выполнения или времени компиляции в c?Распределение памяти переменных массивов в c

int n; 
printf("Enter size of the array: "); 
scanf("%d",&n); 

int a[n]; 
for(int i=0; i<n; i++) 
    { 
     a[i] = 0; 
    } 
} 
+0

Только примечание (вне темы) для вас: это не стандарт в ** C++ ** - вы хотите использовать вектор. – Matt

ответ

1

Он выделяется во время выполнения, но на стеке не на куче.

2

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

Память выделяется из стека, которая быстрее, чем выделение из кучи. Но сколько памяти вы можете зарезервировать значительно ниже.

+0

Хорошая точка! .... –

Смежные вопросы