Menu
Coddy logo textTech

Deklarowanie struktury

Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 39 z 63.

Skoro już wiesz, czym jest struct, czas nauczyć się tworzyć własne typy struktur. Deklarowanie struct w języku C odbywa się zgodnie z określoną składnią, która definiuje szablon niestandardowego typu danych.

Podstawowa składnia deklarowania struct wygląda następująco:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... więcej pól
};

Oto jak działa każda część: zaczynasz od słowa kluczowego struct, po którym podajesz nazwę struktury, a następnie wymieniasz wszystkie zmienne składowe w nawiasach klamrowych. Każda zmienna składowa jest deklarowana tak jak zwykła zmienna — z typem danych i nazwą. Nie zapomnij o średniku po nawiasie zamykającym!

Na przykład, aby utworzyć strukturę reprezentującą punkt w przestrzeni 2D:

struct Point {
    int x;
    int y;
};

Ta deklaracja tworzy nowy typ danych o nazwie struct Point, który zawiera dwa składowe typu całkowitego: x i y. Po zadeklarowaniu ten typ struktury może być używany w całym programie do tworzenia zmiennych przechowujących informacje o współrzędnych w uporządkowany sposób.

challenge icon

Wyzwanie

Łatwy

Utwórz program w C, który definiuje struct do reprezentowania książki w systemie bibliotecznym. Twój program powinien:

  1. Zdefiniować struct o nazwie Book, który zawiera następujące elementy:
    • Liczbę całkowitą id do przechowywania numeru identyfikacyjnego książki
    • Tablicę znaków title o rozmiarze 50 do przechowywania tytułu książki
    • Liczbę całkowitą pages do przechowywania liczby stron
    • Liczbę zmiennoprzecinkową price do przechowywania ceny książki
  2. Po zdefiniowaniu struct wypisać komunikat potwierdzający: Book struct defined successfully!
  3. Wypisać rozmiar struct Book w bajtach za pomocą sizeof() w formacie: Size of Book struct: [size] bytes
  4. Wypisać rozmiar każdego elementu osobno:
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

To wyzwanie sprawdza, czy rozumiesz składnię deklarowania struct, w tym prawidłowe użycie słowa kluczowego struct, deklarowanie elementów z odpowiednimi typami danych oraz średnik po nawiasie klamrowym zamykającym. Dowiesz się również, jak C przydziela pamięć elementom struct za pomocą operatora sizeof().

Pamiętaj, że dokładne wartości rozmiarów mogą się różnić w zależności od architektury twojego systemu, ale składnia definicji struct musi być poprawna, aby program mógł się skompilować i uruchomić.

Spróbuj swoich sił

#include <stdio.h>

int main() {
    // TODO: Zdefiniuj tutaj strukturę Book
    
    
    // Wyświetl komunikat potwierdzający
    printf("Book struct defined successfully!\n");
    
    // TODO: Wyświetl rozmiar struktury Book i jej pól
    
    
    return 0;
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C online