C -> enum -> Speicher

Gast #5982233
Guten Morgen,
1
  /*
2
  *  Welcher Datentyp wird gesendet?
3
  *  siehe "Cmd_Data_Type_Enum"
4
  */
5
  enum Cmd_Data_Type_Enum  eDataType;
6
  
7
  /*
8
  *  Nachrichten Identifikation
9
  *  Die Identifikations Codes sind in 
10
  *  "Cmd_Ident_Enum" einzutragen
11
  */
12
  enum Cmd_Ident_Enum  eMessageID;

Eine Frage..
Ist "enum Cmd_Data_Type_Enum eDataType" das jetzt eine Variable oder 
einfach nur eine Aufzählung "enum". Ich kann "eDataType" Werte zuweisen 
ohne das der Compiler meckert.
Gast #5982296
Cmd_Data_Type_Enum und Cmd_Ident_Enum sind Enum-Typen.
eDataType und eMessageID sind Variablen.
Wieviel Platz der Compiler dafür lässt ist seine Sache. Die 
Kommandozeilenoption, die hier genannt wurde, bezieht sich auch auf eine 
bestimmte Compilerfamilie.
Wenn Du das Enum in eine Struct steckst, kannst Du die Anzahl der Bits 
angeben, aber dann bist Du auch in der Verantwortung, dass alle 
möglichen Werte hinein passen.
Gast #5983214
Peddi schrieb:
> Ich kann "eDataType" Werte zuweisen
> ohne das der Compiler meckert.

Na klar, C ist ja sch...

Du kannst dem Datentyp enum einfach int zuweisen, abe auch boolean 
geht. Oder boolean einen float zuweisen. Alles erlaubt, aber natürlich 
total sinnbefreit!
Moderator Persönliche Seite #5983218
so ist das in C schrieb:

> Du kannst dem Datentyp enum einfach int zuweisen, abe auch boolean
> geht. Oder boolean einen float zuweisen. Alles erlaubt, aber natürlich
> total sinnbefreit!

Sinnbefreit ist dein Kommentar.

Ein enum ist in C ein Alias für einen Ganzzahltyp.

Wenn du einen float zuweist, wird der Inhalt des floats auf den 
Ganzzahlanteil reduziert, wie bei jeder anderen Zuweisung eines floats 
auf einen Ganzzahltyp – und nicht etwa das Bitmuster kopiert oder sowas.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.