Frage zum Union in C |
16.04.2013, 13:11 | Auf diesen Beitrag antworten » | ||||||||||
Matze84 | Frage zum Union in C Ich brauch mal echt keinen Weg, sondern nur eine kurze Erklärung, weil ein Kumpel und ich gerade am Verzweifeln sind..... Ein Union ist doch folgendermaßen Definiert (ähnlich einem struct) typedef union "Datentyp" { int i; char c; }"Name"; ????? Warum funktioniert beides???
UND
Geändert wurde nur Zeile 1 und Zeile 5. Warum kann ich mit beiden Wegen Zeile 9 realisieren? Ich dachte beim 2ten Beispiel ist das quasi der "Name" also wie "i" bei "int i" ich hoffe es ist einigermaßen verständlich was ich meine... |
||||||||||
|
|||||||||||
16.04.2013, 14:29 | Auf diesen Beitrag antworten » | ||||||||||
Karlito | Hallo, der Unterschied zwischen der ersten und der zweiten Definition ist, dass einmal ein Typ xcht_t deklariert wird und bei der zweiten definition wird ein anonymer Typ mit dem Alias xcht_t deklariert. Genauer könnt ihr das hier nachlesen. Ein Union ist ein stück Speicher, welches so groß ist wie der größte Typ den es beinhaltet. Der Compiler weiß anhand des angesprochenen Namens welcher Typ tatsächlich angesprochen wird. Speicher ist Speicher, egal was drin steht. Nur der Compiler weiß, wie er den Speicher interpretieren muss. Beispiel:
In diesem Beispiel simuliere ich ein Union aus einem char[100], einem Int und einem einzelnen char. Man Sieht, dass die Interpretation des Speichers nur von der Konvertierung abhängt. So ähnlich macht das der Compiler anhand des Namens. Ist das klar? VG, Karlito |
||||||||||
16.04.2013, 15:32 | Auf diesen Beitrag antworten » | ||||||||||
Matze84 | Ok Vielen Dank, dann ist alles klar... was ein Union ist und so wussten wir... trotzdem danke. aber warum die beiden sachen quasi das gleiche sind.... aber nachdem ich mir den Link AUCH nochmal durchgelesen habe wissen wir jetzt bescheid. Also DANKE |
||||||||||
16.04.2013, 20:56 | Auf diesen Beitrag antworten » | ||||||||||
Karlito | Huch, Frage nicht richtig gelesen. Sorry! VG, Karlito |
||||||||||
Anzeige | |||||||||||
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|