Tworzenie zmiennych struktury
Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 40 z 63.
Gdy zadeklarujesz typ struct, możesz go użyć do utworzenia zmiennych przechowujących dane. Tworzenie zmiennej typu struct działa dokładnie tak samo jak deklarowanie dowolnej innej zmiennej w języku C — podajesz typ danych, a następnie nazwę zmiennej.
Składnia tworzenia zmiennej struktury to:
struct StructureName variableName;Na przykład, używając struktury Point z poprzedniej lekcji:
struct Point p1;
struct Point p2;Tworzy to dwie zmienne, p1 i p2, obie typu struct Point. Każda zmienna ma własną, oddzielną kopię składowych x i y zdefiniowanych w strukturze.
Możesz utworzyć tyle zmiennych typu struct, ile potrzebujesz, tak jak w przypadku wbudowanych typów, takich jak int czy float. Każda zmienna typu struct jest niezależna i może przechowywać różne wartości w swoich składowych. Po utworzeniu zmienne te są gotowe do przechowywania danych współrzędnych w uporządkowany sposób.
Wyzwanie
ŁatwyUtwórz program w C, który demonstruje tworzenie wielu zmiennych struktur różnych typów. Twój program powinien:
- Zdefiniować
structo nazwieRectanglez następującymi polami:- Liczbę całkowitą
width - Liczbę całkowitą
height
- Liczbę całkowitą
- Zdefiniować
structo nazwieStudentz następującymi polami:- Liczbę całkowitą
id - Tablicę znaków
nameo rozmiarze 30 - Liczbę zmiennoprzecinkową
gpa
- Liczbę całkowitą
- W funkcji main utworzyć następujące zmienne struktur:
- Dwie zmienne typu
Rectangleo nazwachrect1irect2 - Trzy zmienne typu
Studento nazwachstudent1,student2istudent3
- Dwie zmienne typu
- Wyświetlić komunikaty potwierdzające utworzenie każdej zmiennej w dokładnie takim formacie:
Rectangle variable rect1 createdRectangle variable rect2 createdStudent variable student1 createdStudent variable student2 createdStudent variable student3 created
- Wyświetlić łączną liczbę utworzonych zmiennych struktur w formacie:
Total struct variables created: 5 - Wyświetlić ilość pamięci zajmowanej przez każdy typ w formacie:
Memory per Rectangle: [size] bytesMemory per Student: [size] bytes
To wyzwanie sprawdza Twoją umiejętność definiowania wielu typów struktur i tworzenia kilku zmiennych każdego typu. Każda zmienna struktury jest niezależna i ma własną przestrzeń pamięci, co pokazuje, jak można używać struktur do organizowania różnych typów danych w programach.
Spróbuj swoich sił
#include <stdio.h>
int main() {
// TODO: Zdefiniuj tutaj strukturę Rectangle
// TODO: Zdefiniuj tutaj strukturę Student
// TODO: Utwórz tutaj zmienne struktur
// TODO: Wypisz komunikat potwierdzający utworzenie każdej zmiennej
// TODO: Wypisz łączną liczbę utworzonych zmiennych struktur
// TODO: Wypisz ilość pamięci zajmowanej przez każdy typ struktury za pomocą sizeof()
return 0;
}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
1Podstawy wskaźników
Czym jest wskaźnik?Deklarowanie wskaźnikówOperator pobrania adresu (&)Operator dereferencji (*)Wskaźniki NULLPodsumowanie: podstawy wskaźników4Projekt: Proste narzędzie tekstowe
Przegląd projektuLiczenie znaków7Struktury (struct)
Czym jest struktura?Deklarowanie strukturyTworzenie zmiennych strukturyDostęp do składowych strukturyInicjalizacja strukturPodsumowanie: struktura danych studenta2Wskaźniki i tablice
Nazwy tablic jako wskaźnikiElementy tablic — wskaźnikiArytmetyka wskaźnikówPorównywanie wskaźnikówPodsumowanie: przechodzenie po tablicy za pomocą wskaźników5Wskaźniki i funkcje
Przekazywanie przez wartośćPrzekazywanie wskaźników do funkcjiModyfikowanie zmiennych za pomocą wskaźnikówKlasyczny przykład: zamianaPrzekazywanie tablic do funkcjiPowtórka: argumenty wskaźnikowe funkcji8Struktury i wskaźniki
Wskaźniki do strukturOperator strzałki (->)Przekazywanie struktur przez wartośćPrzekazywanie wskaźników do strukturDynamiczna alokacja strukturPodsumowanie: modyfikowanie struktury — wskaźnik11Końcowe zadania powtórkowe
Powtórka: dynamiczne łączenie ciągów znakówPowtórka: tablica strukturPowtórka: licznik częstotliwości słów3Tablice znaków i ciągi znaków
Ciągi znaków jako tablice charZnak końca ciąguWczytywanie ciągu za pomocą scanfUżywanie strlen()Używanie strcpy()Używanie strcat()Używanie strcmp()Podsumowanie: podstawowe funkcje do obsługi ciągów znakówPoćwicz samodzielnie: Kompilator C online