-
-
Erfahrener Benutzer
Roboter Experte
Fragen zu C
Ich hab 2 Fragen zu C:
1.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!
-
Erfahrener Benutzer
Roboter Experte
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
-
Erfahrener Benutzer
Roboter Experte
Danke für die schnelle Antwort!
Also ist char ( short (16) long (32) long long (64) in int (8, 16, 32, 64) definert?
-
Erfahrener Benutzer
Roboter Experte
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.
-
Erfahrener Benutzer
Roboter Genie
@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!
-
Erfahrener Benutzer
Fleißiges Mitglied
der tms320 dsp hat 16 bit char und int ^^
-
Erfahrener Benutzer
Roboter Experte
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.
-
Erfahrener Benutzer
Roboter Experte
OK.
Dann versteh ich das jetzt was int bedeutet! Danke!
Grüsse!
-
Erfahrener Benutzer
Fleißiges Mitglied
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...
-
Erfahrener Benutzer
Roboter Genie
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.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen