Ниже мой код в CЯвляются ли обычные массивы динамическими?
main(){
int a[1];
a[0]=10;
a[1]=12;
printf("%d\n",a[1]);
copy_arr(a);
printf("%d",a[1]);
}
Ниже выход
12
12
Не должно дать массив из границы или что-то вроде этого?
Или код выше зависит от компилятора?
Я запускаю вышеуказанное в компиляторе gcc.
'main()' должен быть 'int main (void)', и вам нужно '#include' вверху. Где определяется 'copy_arr'? –
Компилятор * должен * дать вам предупреждение о том, что доступ к вашему массиву выходит за пределы, и компилятор clang * делает * предупреждает вас. Не знаю, почему gcc нет. – user3386109
С * gcc * обязательно включите предупреждения с флагами компилятора '-Wall -Wextra'. – hyde