По C99
стандартам мы можем это сделать
int n = 0;
scanf("%d",&n);
int arr[n];
это один из способов создания динамического массива в c. Теперь я хочу инициализировать этот массив до 0
вот так
int arr[n] = {0};
Здесь мой компилятор выдает ошибку. Я хочу знать, мы можем это сделать? Это по стандарту? Во время компиляции мы предоставляем достаточно памяти для массивов, но здесь это неизвестно во время компиляции. Как это происходит?
calloc
. В моем компиляторе GCC ошибкаvariable-sized object may not be initialized
хорошо описывает, разрешено это или нет. - person Nobilis   schedule 05.07.2013