Разница заключается в семантической информации. Если вы хотите сохранить свою информацию в виде списка, в котором нет семантического различия между различными членами этого списка, используйте массив. Возможно, каждый член списка представляет разные значения для одной и той же вещи.
Если каждое из этих целых чисел представляет что-то особенное или другое, используйте struct
. Обратите внимание на последствия использования struct
, такие как тот факт, что люди ожидают, что члены будут тесно связаны семантически.
struct
имеет другие преимущества перед массивом, которые могут сделать его более мощным. Например, его способность инкапсулировать несколько типов данных.
Если вы передаете эту информацию между многими функциями, структура, вероятно, будет более практичной (поскольку нет необходимости передавать размер). Было бы плохо передать массив (который распадается на указатель) и ожидать, что вызываемый объект узнает, сколько элементов в массиве. Использование struct
неявно делает эту часть функции контрактной.
По размерам разницы нет. 4-байтовое int обычно выровнено по 4 байта.