Отвечая на ваш вопрос: вкратце, в большинстве языков программирования отсутствует «размер элемента в массиве по умолчанию».
В C (возможно, самый популярный язык программирования) размер элемента массива - или что-то, действительно - зависит от его типа. Для массива char элементы обычно 1 байт. Но для других типов размер каждого элемента равен объему, который дает оператор sizeof (). Например, многие реализации C дают sizeof (short) == 2, поэтому, если вы создадите массив short, он будет занимать 2 * N байтов памяти, где N - количество элементов.
Многие языки высокого уровня не позволяют вам даже пытаться узнать, сколько байтов требуется элементу массива. Предоставление фиксированного числа байтов связывает руки проектировщиков с тем, чтобы они всегда использовали такое количество байтов, что хорошо для прозрачности и кода, основанного на его двоичном представлении, но плохо для обратной совместимости всякий раз, когда возникает какая-то причина для изменения представления.
Надеюсь, это поможет. (Другие комментарии я не видел, пока не написал первую версию.)