Artykuł zawiera analizę porównawczą między strukturą a unii w języku programowania C.
Struktura w c
Struktura w C to danych zdefiniowany przez użytkownika, który umożliwia programistom grupowanie zmiennych różnych typów danych w jedną jednostkę. Struktura może zawierać elementy, które mogą być zmiennymi dowolnego typu danych, takich jak liczby całkowite, pływaki, tablice, a nawet inne struktury. Aby zadeklarować strukturę w C, musisz użyć słowa kluczowego „Struct” a następnie nazwa struktury i jej zmiennych elementów, jak pokazano w poniższym przykładzie:
Deklaracja struktury w C
Poniżej znajduje się deklaracja struktury w programowaniu C.
struct_keyword struct_nameZwiązek w c
Związek w C jest również zdefiniowanym przez użytkownika danych, który umożliwia programistę przechowywania różnych rodzajów danych w tej samej lokalizacji pamięci. W przeciwieństwie do struktur, związki mają tylko jedną lokalizację pamięci, która jest udostępniana przez wszystkich ich członków. Dlatego tylko jeden członek Unii może uzyskać do niego dostęp jednocześnie. Rozmiar związku mierzy się według wielkości jej największego członka.
Deklaracja związku w C
Oto przykład, jak ogłosić związek w C.
Union_keyword Union_nameRóżnica między strukturą a związkiem w C
Poniższa tabela pokazuje różnicę między strukturą a unii w programowaniu C.
Funkcja | Struktura | Unia |
Definicja | Zbieranie powiązanych członków danych | Ta sama lokalizacja pamięci jest udostępniana przez wszystkich członków |
Alokacja pamięci | Przydziela pamięć dla wszystkich członków | Przydziela pamięć dla największego członka |
Inicjowanie członków | Można inicjować indywidualnie lub jako całość | Może zainicjować tylko jednego członka na raz |
Domyślna inicjalizacja | Członkowie są inicjowane do wartości domyślnych | Członkowie są domyślnie niezainicjowania |
Obliczanie wielkości | Suma rozmiarów wszystkich członków | Rozmiar największego członka |
Przypadków użycia | Służy do przechowywania wielu rodzajów danych i dostępu do nich | Służy do zapisywania pamięci, gdy wiele typów danych udostępnia tę samą lokalizację pamięci |
Dostęp do członków | Używając nazwy członka i kropki (.) Operator | Używając nazwy członka i kropki (.) Operator |
Poniżej znajduje się przykład kodowania, który ilustruje różnicę między strukturą a unii w programowaniu C.
#włączaćW powyższym kodzie zdefiniowaliśmy strukturę nazwaną MYSTRUCT który zawiera liczbę całkowitą i postać, a także o nazwisku Myunion który zawiera również liczbę całkowitą i postać. Następnie tworzymy instancje obu MYSTRUCT I Myunion i ustaw ich wartości. Ustawiamy wartość liczb całkowitą zarówno na 10, jak i wartość znaku obu do 'A'.
Kiedy drukujemy wartości struktury i unii, widzimy, że struktura ma osobne zmienne dla całkowitej i charakteru, a każda zmienna zachowuje swoją wartość. Wyjście pokazano poniżej:
Wniosek
Struktura i związek to dwa różne danych, które mają podobną składnię w języku C. Są różne pod niektórymi aspektami, takimi jak przechowywanie, alokacja pamięci, użyteczność i inne funkcje. W tym artykule przedstawiono łatwy przewodnik do znalezienia szczegółowego porównania struktury i unii, a następnie przykłady kodowania, które wyraźnie różnicują oba programowanie C.