Простое руководство по использованию структур в 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;
};
Операции с типами структур
Инициализация
Есть три способа инициализации элементов структуры.
Вы можете вставить значения, разделенные запятыми, в скобки {}, а затем назначить их структуре. Обратите внимание, что значения должны быть в том же порядке, в котором вы объявили переменные.
struct Car Car1 = {"Truck", 10, 65000};
Вы также можете присвоить значения, не обращая внимания на порядок, в котором вы их объявили. См. Пример ниже.
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. Следующим в вашем списке чтения должно быть понимание концепций ООП.