- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Fragen zu C

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    03.12.2008
    Alter
    29
    Beiträge
    438

    Fragen zu C

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich hab 2 Fragen zu C:

    1.
    #define NZAHLEN 10
    Das stand im C-Tutorlial. Meine Frage ist, ob #define bedeutet, dass jetzt eine Definition kommt in diesem Fall NZAHLEN 10?

    2. Was bedeutet int? Ich hab im C-Tutorial eine Antwort gesucht, aber irgendwie versteh ich die nicht...

    Würde mich über Anworten freuen!
    Grüsse!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Es ist ganz einfach: #define sagt dem Präprozessor, dass im Quellcode jedes Wort NZAHLEN durch eine 10 ersetzt wird, bevor dieser an den Compiler übergeben wird.

    Ein int ist ein Variablentyp, der je nach Compiler/Prozessorarchitektur verschiedene Zahlenbereiche abdecken kann, beim AVR z.B. ist er 16 Bit lang, geht also von -2^15 bis +2^15-1. Variablen sind eine Art Platzhalter für Zahlen, die zur Laufzeit des Programms in die Variable reingeschrieben werden können.

    MfG Mark

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    03.12.2008
    Alter
    29
    Beiträge
    438
    Danke für die schnelle Antwort!
    Also ist char ( short (16) long (32) long long (64) in int (8, 16, 32, 64) definert?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Nicht ganz, int ist ein eigenständiger Variablentyp, genauso wie char, short, long ... . Nur ist die Größe von int durch das Zielsystem und den Compiler festgelegt, während die meisten anderen Datentypen unabhängig davon immer die gleiche Größe haben.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    @p_mork: Ich staune über diese tolle Erklärung! Einfach und 100%ig korrekt. Da können sogar "alte Hasen" nochmal drüber nachdenken. Vielen Dank!

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.05.2007
    Ort
    Merseburg
    Alter
    42
    Beiträge
    130
    der tms320 dsp hat 16 bit char und int ^^

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    DSPs sind da eine Ausname, weil einige von ihnen 8 bzw 16 bit nicht verarbeiten oder aus dem Speicher laden/speichern _KÖNNEN_. Deshalb ist der Compiler gezwungen, 16 oder 32 bit zu nehmen. Ich nehme an, dass es auch bei den TMS320 der Fall ist.

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    03.12.2008
    Alter
    29
    Beiträge
    438
    OK.
    Dann versteh ich das jetzt was int bedeutet! Danke!

    Grüsse!

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.05.2007
    Ort
    Merseburg
    Alter
    42
    Beiträge
    130
    Exakt, p_mork. Wollten mir zwei Kollegen (die schon länger damit arbeiten) erst auch nicht glauben, aber es ist wirklich so, dass man mit 16 bit chars rechnen kann*g* auch wenn unsigned int "sauberer" ist...

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    unsigned int oder 16 bit chars - das ist irrelevant. Wenn es das selbe ist, ist weder das eine, noch das andere "sauberer" - auch wenn einige Kollegen das anders _fühlen_.
    Schau mal in die Header - da ist es eh nur ein define.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test