Простое руководство по использованию структур в C

Структура (или структура) – это смешанный тип данных в C. Вы можете использовать ее для хранения переменных разных типов.

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

Создание структуры

Чтобы определить структуру, используйте ключевое слово struct , за которым следует имя структуры. Внутри структуры вы можете указать переменные разных типов:

 struct Car{
char name[45];
int wheels;
double cost;
} ;

Вы можете определить несколько экземпляров Car , добавив объявления этих экземпляров после правой фигурной скобки в объявлении структуры :

 struct Car{
/* variables */
} Car1, Car2, Car3;

Вы также можете вложить структуру внутрь конструкции. См. Пример ниже:

 struct address {
int area_code;
char street_name[45];
};
struct Person {
char name[60];
float height;
struct address Persons_location;
};

Связанный: Советы по программированию на C, которые вы должны изучить, чтобы начать работу

Операции с типами структур

Инициализация

Есть три способа инициализации элементов структуры.

Вы можете вставить значения, разделенные запятыми, в скобки {}, а затем назначить их структуре. Обратите внимание, что значения должны быть в том же порядке, в котором вы объявили переменные.

 struct Car Car1 = {"Truck", 10, 65000};

Связано: Руководство для начинающих по стандартной библиотеке шаблонов в C ++

Вы также можете присвоить значения, не обращая внимания на порядок, в котором вы их объявили. См. Пример ниже.

 struct Car Car2 = {
.cost = 45000,
.name = "Truck",
.wheels = 8
};

Третий способ инициализировать вашу структуру – назначить ей существующую структуру того же типа.

 struct Car Car3 = Car1;

Доступ к элементам структуры

Чтобы получить доступ к значению, хранящемуся в элементе структуры, используйте оператор точки.

 /* the syntax is:
structName.elementName */
int y = Car1.wheels;

Взгляд на объектно-ориентированное программирование

Как упоминалось в начале, структура сопоставима с использованием классов в объектно-ориентированном программировании (ООП). Классы проще в использовании и позволяют повторно использовать код.

По этой и многим другим причинам был введен C ++. C ++ – это объектно-ориентированная версия C. Следующим в вашем списке чтения должно быть понимание концепций ООП.