я заявил следующее:Создания большого 2D массива
long long int *a[100000] //Global Declaration
Dynamic декларирование
a[i]
:a[i]=(long long int*)calloc(sizeof(long long int),100000); for(i=0;i<100000;i++) { for(j=0;j<100000;j++) printf("%lld ",a[i][j]); printf("\n"); }
После прохождения цикла моей программы с указанием ошибки сегментации
Из-за того, что я получаю правильный ответ на некоторые из тестовых примеров и ошибки сегментации в некоторых других случаях, это означает, что я не имею доступа к незаконной памяти. Я думаю Проблема связана с объявлением массива long long int
такого большего размера.
Вы должны определить двумерный массив, то есть 'долго долго ИНТ * а [100000] [100000]' – simurg
Этот код не достаточно, чтобы сказать, что это не так, я подозреваю, что вы не выделять массив правильно.И [не бросать 'calloc'] (http://stackoverflow.com/a/605858/1983495), также использовать' malloc() 'только использовать' calloc() ', если вы действительно знаете, что вам нужно. –
@simurg возможно 'long long int a [100000] [100000]' без '*'? –