Изучение Си (урок 6)

X

Xamil

Original poster
Структуры, Объединения и нестандартные типы данных.
Структура - это совокупность нескольких переменных под единым именем рассматриваемых как одно целое.В отличии от массива переменные в структуре могут иметь разные типы данных
C:
struct coord{
    int x;
    int y;
} first, second;
struct coord1{
    int a;
    int b;
}
struct coord first, second;
Ключевое слово struct указывает на начало определения структуры.За этим ключевым словом должно следовать имя структуры.Имя структуры также называется ее меткой, а также именем структурного типа.first и second являются экземплярами структуры, типа coord. Тоесть first и second будет иметь первое значение типа int и второе значение int.
Обращение к полям структуры
Отдельные элементы структуры могут использоваться точно так же , как простые переменные тех же типов. Чтобы извлечь их значения из структуры, применяется знак операции обращения к элементу структуры (.), представляющий собой точку между именем структуры и именем элемента - поля.т.о чтобы структура first имела координаты нужно записать
C:
first.x = 50;
first.y = 32;
для вывода на экран запишем следующее
C:
printf("%d %d", first.x, first,y);
C:
first = second;
эквивалентен
C:
first.x = second.x;
first.y = second.y;
Это Основная информация по структурам.
также можно и создавать структуры в структурах, можно использовать структуру в других функциях
 
  • Like
Реакции: Admin
K

kurvenok

Original poster
Надо было упомянуть typedef, его очень часто используют с структурами. Он используется для создания дополнительного имени (псевдонима) для другого типа данных.
например, заместо:
C:
struct car {
    char* color;
    int price;
};

struct car toyota = {.color="red", .price=400000};
struct car lada = {.color="silver", .price=40000};
struct car lexus = {.color="black", .price=4000000};

C:
struct car {
    char* color;
    int price;
};

typedef struct car Car;

Car toyota = {.color="red", .price=400000};
Car lada = {.color="silver", .price=40000};
Car lexus = {.color="black", .price=4000000};
 
  • Like
Реакции: Anorali

Название темы