Struktura w c

Struktura w c
Struktura jest ważną koncepcją w C. Istnieją dwa typy typów danych, które istnieją w C. Są to prymitywne typy danych i typy danych bez substancji lub zdefiniowane przez użytkownika. Struktura jest przykładem niepryminitywnego typu danych.

Co to jest struktura

Struktura to sposób na grupowanie zmiennych. Czasami musimy przechowywać informacje w grupie.

Załóżmy, że musimy przechowywać 100 informacji uczniów. Informacje oznaczają ich nazwę, adres, mobilne nr, płeć, znaki, agregaty itp. W tej sytuacji, jeśli przechowujemy te dane do wielu zmiennych dla każdego ucznia, program staje się bardzo złożony i zwiększa szybkość wykonania programu.

Aby zmniejszyć ten problem, wprowadzamy strukturę. Za pomocą struktury możemy zdobić te zmienne każdego ucznia na jedną zmienną.

Struktura to zbiór odmiennych elementów. Odmienny oznacza, że ​​możemy przechowywać różne wartości typu danych, takie jak int, char, float, string itp.

Jeśli przechowujemy informacje ucznia, musimy przechowywać jego nazwisko, znaki, mobilne nr itp. Nazwa jest ciągiem; Znak jest pływakiem; Mobile no to tablica liczb całkowitych. Jest to więc grupa odmiennych elementów.

Definiowanie struktury oznacza utworzenie nowego typu danych, I wiemy, że tworzenie nowego typu danych oznacza, że ​​używamy tutaj typu danych niepryminitywnych.

Jak zdefiniować strukturę

Data struktury // definiowanie struktury;

int d, m, y;
;
struct Student // definiowanie innej struktury;

int roll_no;
Nazwa char [30];
int wiek;

Wyżej wymieniona data i student to nowe typy danych o nazwie typy danych zdefiniowanych przez użytkownika. Ten typ danych należy zdefiniować w naszym programie. Ponieważ prymitywny typ danych jest zdefiniowany w C, ale typ danych nie jest określony w C, musi być zdefiniowany przez użytkownika. W tym celu musimy napisać słowo kluczowe o nazwie struct Przed nazwą typu danych zdefiniowanego przez użytkownika.

Zużycie pamięci

Nie jest konsumowana pamięć definicji struktury. Ponieważ pamięć jest zużywana do deklaracji zmiennej, ale nie w przypadku definiowania typu danych.

Definiowanie struktury oznacza utworzenie nowego typu danych; Pamięć nie jest konsumowana. Pamięć jest zużywana w momencie deklaracji określonego rodzaju zmiennej

Gdzie możemy zdefiniować strukturę

Możemy zdefiniować strukturę jako lokalnie lub na całym świecie w zależności od wymagań programu.

Jak tworzyć zmienne poprzez strukturę

Przykład programowania 1:

#włączać
Data struktury // definiowanie strukturyGlobalnie;

int d, m, y;
;
Data struktury d1;
int main ()

D1.D = 24; // przypisywanie wartości do zmiennych elementów D1;
D1.M = 4;
D1.y = 2022;
printf („Data to: %d %d %d”, d1.D, D1.M, D1.y);
Retun0;

Wyjście

Wyjaśnienie

Tutaj tworzymy typ danych daty na całym świecie. Aby zdefiniować typ danych daty, używamy słów kluczowych. Teraz deklarujemy zmienną D1 bez inicjalizacji. Wewnątrz głównej funkcji przypisujemy wartości zmiennej członkowskiej daty; Są D1.D, D1.M, D1.y. Teraz drukujemy wartości.

Przykład programowania 2

#włączać
Data struktury // definiowanie struktury na całym świecie;

int d, m, y;
;
int main ()

Data struktury d1 = 24, 4, 2022;
// Deklaracja i przypisanie wartości lokalnie;
printf („Data to: %d %d %d”, d1.D, D1.M, D1.y);
powrót 0;

Wyjście

Wyjaśnienie

Tutaj definiujemy typ danych daty na całym świecie. Wewnątrz funkcji main () deklarujemy i przypisujemy zmienną D1 typu danych daty. Więc ta zmienna D1 działa jak zmienna lokalna. Tutaj wartości automatycznie przechodzą do zmiennej członkowskiej daty. Teraz drukujemy datę.

Przykład programowania 3

#włączać
Data struktury // definiowanie struktury na całym świecie;

int d, m, y;
;
Data struktury d1;
int main ()

printf („Wprowadź datę:”);
Scanf („ %D/ %D/ %D”, i D1.D i D1.y i D1.y); // Wprowadzenie daty od użytkownika;
printf („Data to: %d %d %d”, d1.D, D1.M, D1.y);
powrót 0;

Wyjście

Struktura referencyjna

Struktura samozadowolenia jest również strukturą. Jest to struktura z wskaźnikami, która wskazuje na ten sam rodzaj struktury co członek. Pokazujemy przykład poniżej.

Przykład programowania 4

#włączać
int main ()

węzeł struct

dane int;
struct node * link;
;
węzeł struct n1;
n1. dane = 5;
n1 . link = null;
węzeł struct n2;
n2. Dane = 7;
n2. Link = null;
n1. Link = & n2; // Adres N2 jest przypisany do linku części N1.
printf („Wartość danych to: %D”, N1. dane ) ;
printf („wartość linku to: %d”, n1. link -> dane);
powrót 0;

Wyjście

Wyjaśnienie

Powyższy program jest przykładem struktury referencyjnej. Tutaj tworzymy typ danych zdefiniowany przez użytkownika o nazwie węzeł. Ma w swoim ciele dwóch członków danych. Jeden to dane; Kolejny jest powiązany. Link to wskaźnik, który typ jest typu węzła. Oznacza to, że może utrzymywać adres tylko danych typu węzła. Teraz tworzymy zmienną N1, która jest typem danych typu węzła. Tutaj przypisujemy wartość INT typu 5. W połączonej części przypisujemy Null.

Inna zmienna, B, jest również typem danych typu węzła. 7 i NULL są przechowywane w odpowiednich członkach danych. Ważnym aspektem jest to, że przechowujemy adres B do linku a. Oznacza to, że łącze zmiennej wskazuje teraz na zmienną B. Nazywa się to strukturą referencyjną.

Zastosowanie struktury referencyjnej

Struktura referencyjna jest bardzo używana w dziedzinie listy linków, drzewa.

Wniosek

Z koncepcji struktury doszliśmy do wniosku, że wymaganie struktury w C jest bardzo ważne. Dzięki strukturze możemy tworzyć własny typ danych zgodnie z wymaganiami programu. Dzięki strukturze możemy przechowywać różne rodzaje metadanych.