Почему вы должны использовать 2D массив структур? - PullRequest
0 голосов
/ 02 февраля 2020

Мне интересно, есть ли случаи использования 2D-массива структур, например, например:

typedef struct
{
 //member variables
}myStruct;

myStruct array2D[x][y]; 
//Uses cases of array2D[x][y]? Do we need them?

Почему вы должны использовать 2D-массив структур?

Ответы [ 2 ]

1 голос
/ 02 февраля 2020

Почему вы должны использовать двумерный массив структур?

Определенная структура в основном просто тип, как и любой другой (хотя, конечно, любой тип отличается от другого и существует разница между частными и стандартными типами данных, даже не говоря уже о различиях в распределении памяти между объектами этих типов), с помощью которых вы можете объявлять объекты.

Вы также можете спросить: почему вы должны использовать char, int или double двумерный массив?

Это не только структура, собственная вещь.

Это зависит от контекста и его ценности иметь четкую «структуру» в своем коде; Таким образом, код таким образом может помочь вам сделать ваш код более читабельным и понятным, если вам нужно огромное количество объектов определенного типа, в данном случае структуры.

Может быть, вы даже хотите сгруппировать некоторые объекты и / или хотят относиться к ним по-разному. В этом случае выгодно использовать несколько измерений массива, поскольку вы можете обращаться к объектам каждого измерения явно и отдельно.

Как указано @ buysbee , упомянутое в комментариях:

Один очевидный пример где выгодно хранить объекты структуры в двумерном массиве, это хранить пиксели изображения. Лучше хранить объекты «пиксельной» структуры в двумерном массиве, потому что это эмулирует естественное изображение.

0 голосов
/ 02 февраля 2020

Мы можем добавить больше вопросов: почему мы должны использовать 3D, 4D. 5D ...... 10000000D массивы чего-то.

Структуры данных, используемые в проекте, зависят от решаемой проблемы и выбранного алгоритма.

...