Я был поражен, увидев, что этот код работает. Я не мог понять, почемуСоздание динамического массива без malloc
#include<stdio.h>
int main(){
int row,col,i,j;
scanf("%d %d",&row,&col);
int a[row][col];
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d",&a[i][j]);
for(i=0;i<row;i++){
for(j=0;j<col;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
С С компилируемый язык, то как она выделяет память для массива а [строка] [столбец]? Поскольку во время компиляции значение строки и столбца неизвестно, то как он может сделать машинный код и задать адресное пространство для программы? Почему это работает как интерпретатор языка работал бы, если этот способ создать динамический массив, то почему мы учили использовать таНос для создания динамического массива в С.
На самом деле, они не являются динамика массива, но пол-динамика –