Menu
Coddy logo textTech

Объявление структуры

Часть раздела Логика и управление потоком путешествия по C на Coddy. Урок 39 из 63.

Теперь, когда вы понимаете, что такое struct, пришло время узнать, как создавать собственные типы структур. Объявление struct в C выполняется по определённому синтаксису, который определяет структуру вашего пользовательского типа данных.

Базовый синтаксис объявления struct выглядит так:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... больше членов
};

Вот как работает каждая часть: начните с ключевого слова struct, за которым следует имя вашей структуры, затем перечислите все переменные-члены внутри фигурных скобок. Каждый член объявляется так же, как обычная переменная, с указанием его типа данных и имени. Не забудьте поставить точку с запятой после закрывающей скобки!

Например, чтобы создать структуру, представляющую точку в двумерном пространстве:

struct Point {
    int x;
    int y;
};

Это объявление создаёт новый тип данных под названием struct Point, который содержит два целочисленных члена: x и y. После объявления этот тип структуры можно использовать в программе для создания переменных, которые хранят информацию о координатах организованным образом.

challenge icon

Задание

Легко

Создай программу на C, которая определяет struct для представления книги в библиотечной системе. Твоя программа должна:

  1. Определить struct с именем Book, содержащую следующие члены:
    • Целое число id для хранения идентификационного номера книги
    • Массив символов title размером 50 для хранения названия книги
    • Целое число pages для хранения количества страниц
    • Число с плавающей точкой price для хранения цены книги
  2. После определения struct вывести сообщение подтверждения: Book struct defined successfully!
  3. Вывести размер Book в байтах с помощью sizeof() в формате: Size of Book struct: [size] bytes
  4. Вывести размер каждого члена отдельно:
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

Это задание проверяет твоё понимание синтаксиса объявления struct, включая правильное использование ключевого слова struct, объявления членов с подходящими типами данных и точки с запятой после закрывающей фигурной скобки. Ты также изучишь, как C выделяет память для членов struct с помощью оператора sizeof().

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

Попробуйте сами

#include <stdio.h>

int main() {
    // TODO: Определите вашу структуру Book здесь
    
    
    // Вывести сообщение подтверждения
    printf("Book struct defined successfully!\n");
    
    // TODO: Вывести размер структуры Book и её членов
    
    
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор C