История изменений
Исправление aureliano15, (текущая версия) :
компилятор вроде автоматом создаст массив по количеству строк
Если ты не инициализируешь массив, то должен явно указать его размерность в квадратных скобках.
Если массив при объявлении сразу инициализируется, то размерность указывать необязательно. В этом случае размерность массива будет равна числу элементов, указанных через запятую в фигурных скобках или длине константной строки, включая завершающий 0, если речь идёт о массиве char, инициализируемым строкой (char s[] =
"abc"
).
Если одновременно указать размерность в квадратных скобках при объявлении и явно инициализировать массив, то размерность будет определяться числом, недостающие элементы будут инициализированы 0 (для глобальных и статических массивов) или случайным значением (для локальных массивов), а лишние будут проигнорированы. Т. е. массив int a[2] = {1,2,3,4};
будет идентичен массиву int a[2] = {1,2};
, а массив int a[4] = {1,2};
идентичен массиву int a[4] = {1,2,0,0};
, если они глобальные или статические (static) либо массиву int a[4] = {1,2,случайное_число_из_стека,случайное_число_из_стека};
в противном случае.
Исправление aureliano15, :
компилятор вроде автоматом создаст массив по количеству строк
Если ты не инициализируешь массив, то должен явно указать его размерность в квадратных скобках.
Если массив при объявлении сразу инициализируется, то размерность указывать необязательно. В этом случае размерность массива будет равна числу элементов, указанных через запятую в фигурных скобках или длине константной строки, включая завершающий 0, если речь идёт о массиве char, инициализируемым строкой (char s[] =
"abc"
).
Если одновременно и указать размерность в квадратных скобках при объявлении, и инициализировать массив, то размерность будет определяться числом, недостающие элементы будут инициализированы 0 (для глобальных и статических массивов) или случайным значением (для локальных массивов), а лишние будут проигнорированы. Т. е. массив int a[2] = {1,2,3,4};
будет идентичен массиву int a[2] = {1,2};
, а массив int a[4] = {1,2};
идентичен массиву int a[4] = {1,2,0,0};
, если они глобальные или статические (static) либо массиву int a[4] = {1,2,случайное_число_из_стека,случайное_число_из_стека};
в противном случае.
Исходная версия aureliano15, :
компилятор вроде автоматом создаст массив по количеству строк
Если ты не инициализируешь массив, то должен явно указать его размерность в квадратных скобках.
Если массив при объявлении сразу инициализируется, то размерность указывать необязательно. В этом случае размерность массива будет равен числу элементов, указанных через запятую в фигурных скобках или длине константной строки, включая завершающий 0, если речь идёт о массиве char, инициализируемым строкой (char s[] =
"abc"
).
Если одновременно и указать размерность в квадратных скобках при объявлении, и инициализировать массив, то размерность будет определяться числом, недостающие элементы будут инициализированы 0 (для глобальных и статических массивов) или случайным значением (для локальных массивов), а лишние будут проигнорированы. Т. е. массив int a[2] = {1,2,3,4};
будет идентичен массиву int a[2] = {1,2};
, а массив int a[4] = {1,2};
идентичен массиву int a[4] = {1,2,0,0};
, если они глобальные или статические (static) либо массиву int a[4] = {1,2,случайное_число_из_стека,случайное_число_из_стека};
в противном случае.