Sposób definicji unii
Ostatnio zmodyfikowano 2013-03-07 19:57
marecki Temat założony przez niniejszego użytkownika |
Sposób definicji unii » 2013-03-06 18:28:38 Czym różnią się te dwa sposoby deklaracji unii? Czy może różni je tylko sposób zapisu? Jeśli coś je różni to w jakim przypadku stosować pierwszy sposób a kiedy drugi? SPOSÓB 1 typedef union { int liczba; char znak; } TYP_UNIA;
int main() { TYP_UNIA UNIA; UNIA.liczba = 12; UNIA.znak = 'a'; return 0; } SPOSÓB 2 union unia { int liczba; char znak; };
int main() { unia UNIA; UNIA.liczba = 12; UNIA.znak = 'a'; return 0; } |
|
Navvroth |
» 2013-03-07 14:27:45 |
|
Savail |
» 2013-03-07 16:17:04 @up, tylko że w linku powyżej nie ma odpowiedzi na pytanie autora...
W sposobie pierwszym tworzysz nowy własny typ zmiennej (TYP_UNIA) - poczytaj o typedef. W drugim sposobie tworzysz po prostu unię |
|
Monika90 |
» 2013-03-07 19:57:28 Język C ma odrębną przestrzeń nazw dla typów, które sa strukturami lub uniami. Jeśli definiujesz unię w ten sposób: to gdy używasz jej nazwy musisz poprzedzać ją słowem union natomiast w sposobie numer 1, typedef dodaje nazwę typu do globalnej przestrzeni nazw: więc można używać po prostu tak: W języku C++ nie ma praktycznej różnicy między tymi sposobami, unia czy struktura będzie w tej przestrzeni nazw, w której znajduje się jej deklaracja. Zatem w C++ nalezy używać sposobu numer 2, bo jest prostszy i naturalny. |
|
« 1 » |