Diskussion:C (Programmiersprache)/Archiv/2009
Fehler?
Ausschnitt aus dem Artikel: Im Quelltext lassen sich diese Zeichen plattformunabhängig über eine Escape-Sequenz wie folgt ersetzen:
* \uXXXX (wobei X für eine Hexadezimalziffer steht) für Zeichen mit einem Code von 00A0hex bis FFFFhex. * \UXXXXXXXX für alle Zeichen mit einem Code ≥00A0hex.
Anmerkung: Muß letztere Zeile nicht lauten?:
- \UXXXXXXXX für alle Zeichen mit einem Code ≥FFFFhex. (nicht signierter Beitrag von 195.4.171.30 (Diskussion | Beiträge) 12:45, 5. Mai 2009 (CEST))
- Nein. Zeichen größer FFFFhex müssen durch \UXXXXXXXX dargestellt werden, da das \u-Format nicht mehr ausreicht. Zeichen zwischen A0hex und FFFFhex können aber auch durch \U dargestellt werden, aber dann ist das dann ebenfalls mögliche \u-Format kürzer. Für automatisch generierten Code kann es aber von Vorteil sein, sämtliche nicht-ASCII-Zeichen durch eine \U-Sequenz zu kodieren, spart man sich halt eine Fallunterscheidung im Codegenerator... --RokerHRO 21:59, 5. Mai 2009 (CEST)
Header
Die Theorie zur Entwicklung des Namen ist umstritten. Es wäre schön wenn jemand auch die anderen Theorien darstellen könnte.
- Archivierung dieses Abschnittes wurde gewünscht von: Antonsusi 12:26, 11. Sep. 2009 (CEST)
Feldgröße
Im Abschnitt Schwächen taucht der Begriff Feldgröße als Link auf. Dieser Link führt nur auf die physikalische Feldgröße und sollte entfernt werden. (ich entferne es nicht, falls der Autor den Artikel Feldgröße noch erweitern wollte) Frank Braun
- Archivierung dieses Abschnittes wurde gewünscht von: Antonsusi 12:26, 11. Sep. 2009 (CEST)
----
Kann nicht einer im Artikel angeben, wo es den 3742 Bytes großen C Compiler gibt? Mich würde das sehr interessieren.
- Archivierung dieses Abschnittes wurde gewünscht von: Antonsusi 12:26, 11. Sep. 2009 (CEST)
C als Zwischencode
Meines Erachtens werden hier recht esoterische Beispiele gegeben. Wäre es nicht viel naheliegender auf Lex und Yacc zu verweisen? -- octo 08:51, 13. Jun. 2009 (CEST)
- Unter Zwischencode steht: Zwischencode ist Code, der [...] generiert wird. Im Falle von Lex und Yacc wird aber ein Teil des Codes explizit in den Eingabedateien von Lex und Yacc angegeben. Deshalb finde ich die Bezeichnung Zwischencode für die Ausgabe selbiger Programme nicht ganz passend. Persönlich finde ich die Angabe des GHC nicht als ein besonders exotisches Beispiel.--plaicy 11:25, 14. Jun. 2009 (CEST)
- Du hast recht, die Definition von „Zwischencode“ erfüllen lex und yacc nicht so 100%ig. Trotzdem fände ich sie als „Abstraktionsschicht über C“ an dieser Stelle erwähnenswert. Ciao, -- octo 11:34, 16. Jun. 2009 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: Antonsusi 12:26, 11. Sep. 2009 (CEST)
Einflüsse
Wo liegt denn der Einfluss von "Assembler" auf "C"? Basic sieht aus wie Assembler, gut, aber C? --84.56.238.10 18:54, 17. Jun. 2009 (CEST)
- Vielleicht dass C sehr hardwarenahe Operationen wie Bitoperationen enthält, was vorher in Hochsprachen nicht üblich war? Oder definiertes Überlaufverhalten, das sich am Überlaufverhalten der CPU-Architektur orientiert. --RokerHRO 20:51, 17. Jun. 2009 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: Antonsusi 12:26, 11. Sep. 2009 (CEST)
Literatur
Es wäre cool, wenn man da noch so 6 oder 8 weiterführende Literaturangaben machen könnte. Aufgteilt nach Anfänger, Fortgeschritten und Anwendungen vllt. denn Programmierbücher gibts wie Sand im Wasser, also muss natürlich eine gute Begründung her, wieso gerade diese und jene Bücher. Danke --WissensDürster 14:44, 13. Aug. 2009 (CEST)
EXIT_SUCCESS
Hallo,
ist es nicht so das EXIT_SUCCESS eigentlich fuer die stdlib/exit() Funktion gedacht ist? Ich meine es ist zufaelligerweise auch als 0 definiert aber so viel ich weiss sollte man das in main nicht zurueck geben (nur wenn man das Programm mit exit verlaesst).
Gruesse
jarrad (nicht signierter Beitrag von 134.188.4.11 (Diskussion | Beiträge) 10:03, 14. Aug. 2009 (CEST))
Datentypumwandlungen
Aus dem Artikel erstmal hierher verfrachtet:
"Datentypenumwandlung Problem: Der Compiler akzeptiert keine gemischten Datentypen in einem Ausdruck. Deshalb muss vorher eine Datentypenumwandlung vorgenommen werden. Dazu giebt es zwei Möglichkeiten:
- Implizite Typenumwandlung (Macht der Kompiler selbst)
Es werden jeweils die "kleineren" in den "größeren" im Ausdruck enthaltenen Datentyp umgewandelt.
- Explizite Typenumwandlung mit dem cast-operator (Macht der Programmierer selbst)
Der castoperator: Hierbei schreibt der Programmierer den gewünschten Datentyp in normale Klammern vor die Variable oder Zahl, derren Datentyp gewandelt werden soll. z.B. (double)a; (int)7; ..."
So (mit inhaltlichen, grammatischen Fehlern und in diesem Stil) kann dieser Beitrag nicht im Artikel bleiben, prinzipiell gehören Informationen zur Umwandlung von Datentype sehr wohl in den Artikel. --Burkhard 20:49, 26. Okt. 2009 (CET)
Syntax Präprozessor
Einen schönen guten Tag,
leider ist in diesem Beispiel ein Leerzeichen zwischen # und include. Das führt Einsteiger aufs Glatteis. Wäre schön, wenn es beseitigt wird.
- include <stdio.h>
- include <stdlib.h>
int main(void) {
printf("Hallo Welt!\n"); return EXIT_SUCCESS;
} /* end main() */
Herzlichen Dank, Arnold [email protected] (nicht signierter Beitrag von 131.130.179.160 (Diskussion | Beiträge) 13:34, 30. Nov. 2009 (CET))
- Wer hier wer jemanden aufs Glatteis führt, dann bist Du das ;-)
- Selbstverständlich können und dürfen Leerzeichen zwischen
# <Direktive>
eingeschoben werden, wovon besondere bei verschachteteln #if-Direktiven gerne Gebrauch gemacht wird. Einfach mal ausprobieren. Die Syntax verlangt nur, dass die Präpozessor-Zeile mit # am Zeilenanfang eingeleitet wird - leider gehen die meisten Darstellungen der Präprozessor-Syntax auf diesen Aspekt nicht ein bzw. sind sogar falsch. Eine Direktive ist[if|ifdef|ifndef|include|...]
- eben nicht[#if|#ifdef|...]
. Hab's trotzdem mal geändert, damit keiner unnötigerweise darüber stolpert. --Burkhard 21:41, 1. Dez. 2009 (CET)
C-Implementation
Der Begriff "gehostete C-Implementation" ist mir unklar und auch nicht definiert. Was ist eine hosted-Umgebung ?-- 77.24.214.159 13:15, 1. Dez. 2009 (CET)