www.mikrocontroller.net

Forum: Compiler & IDEs Speicherbedarf struct


Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

wenn ich einen struct wie folgt definiere:
typedef struct {
   u16 wert1 : 1;
   u16 wert2 : 1;
   u16 wert3 : 1;
   u16 wert4 : 1;
} tWerte;

wie groß ist dann der benötigte Speicher für jedes struct vom typ 
"tWerte"?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt von der Architektur ab, denk ich. Normalerweise ein Byte.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4x16Bit = 64Bit

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jep, ich tippe auch auf auf ein Byte Speicherbedarf.

Die 64 Bit sind falsch. Das ist ja schließlich nen Bitfeld und da wird 
normalerweise auf ganze Byte aufgerundet.

MfG
Marius

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist u16?
unsigned int?

Dann tippe ich auf 2 Byte.
Ich weiß aber tatsächlich nicht auswendig, wie hier die Lage laut 
C-Standard ist. Ob der Compiler bei Bitfeldern den Basistyp des 
Bitfeldes berücksichtigen muss (in diesem Fall u16) oder ob er ihn 
ignorieren darf, und nur alle Bits irgendwie unterbringen muss.

Warum machst du nicht einfach einen sizeof( tWerte ) und lässt dir das 
Ergebnis ausgeben? Dann weißt du es genau.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.