По посту от ТСа видно, что он только лезет в плюсы и понять что за сакральный смысл скрывают "< ... >" ему будет сложно. А так как в любой дающийся базе ( будь то ВУЗ, шарага или самообучение ) всегда присутствуют дефолтный статичный СИ-шные массивы, нет смысла грузить его сейчас этой инфой.
Для того, чтобы их потом менять можно использовать
( выделяй, удаляй сколько душе вздумается, но можешь столкнуться с утечкой памяти и будет как + опыт ). Потом уже когда адекватно полезешь в ООП, перегрузки функций, шаблоны, тебе станет ясно, что за "< ... >" и зачем их использовать. А там уже можно следовать советам от
OXXXYMlRON и спокойно воспринимать его критику.
Функция sizeof возвращает количество занимаемой памяти в байтах. Следовательно, если имеем статический массив из 20 элементов типа int. Получим объём в 80 байт ( sizeof(int) - 4 байта * количество элементов 20 ). Если используем матрицу ( двумерный массив ) из элементов 3x4, то значит получим размер в 3 * 4 * sizeof(int) = 24 байта. Чтобы получить размер первого массива достаточно получить его размер и разделить его на размер его каждого элемента.