Gast
#3335137
Moin, wie kann man in c eine struct global initialisieren?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Dieser Code bringt mir die Fehlermeldung "incomplete type is not allowed". Gruß Martin
|
Anzeige
|
struct initialisieren
Gast
#3335137
Moin, wie kann man in c eine struct global initialisieren?
Dieser Code bringt mir die Fehlermeldung "incomplete type is not allowed". Gruß Martin So, wie du die Struktur deklariert hast (mit typedef), heißt der Typ nicht "struct DEV_LIST", sondern einfach nur "DEV_LIST". Versuchs mal so:
Noch was: Die grösste Zahl, die ein unsigned char halten kann ist 255
Gast
#3335161
ah alles klar... danke! was bewirkt die Zuweisung von "400" zu einer char Variablen? Dabei werden nur die niederwertigsten 8Bit gespeichert, der Rest wird einfach abgeschnitten. 400 ist gleich 0x190, somit wird nach der Zuweisung in einer unsigned char Variable 0x90, also 144 stehen. In einer char Variable wird -122 stehen -> 2er Komplement
Gast
#3335182
be stucki schrieb: > In einer char Variable wird -122 stehen -> 2er Komplement Du meinst signed char. Ob char ein Vorzeichen hat oder nicht ist compilerspezifisch. be stucki schrieb: > unsigned char name[NAME_SIZE]; Übrigens: Warum hier unsigned char statt char? be stucki schrieb: > In einer char Variable wird -122 stehen -> 2er Komplement Wollte natürlich -112 schreiben... EDIT: Rolf hat natürlich recht. Bei vielen Compilern ist ein char signed, aber eben nicht bei allen. EDIT 2: >be stucki schrieb: >> unsigned char name[NAME_SIZE]; Ist nicht auf meinem Mist gewachsen :) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|