home *** CD-ROM | disk | FTP | other *** search
- _______________ _____ _____ _________ ___________________
- \. /________ |. /_____:o | /. \/|___/_ \ /
- \___ _____/|. / \|| /|. |: |// ______/·|. / ______ \ ___/
- /. /_/· || / \: \|| |· |/ / \ \/ || /_______ \/+ /
- // ____/ || \ \ \ \: ¯¯¯ | / / / || \ /·\ / \ __/_
- // / // |+ \ \ \ \___/ | \___/ / |· \/ \/ / /
- /· / \\ / \ / |: | / / / /
- \___/ \________/_____|\___/: |_____|_______/\________/_______/______/
- l_____|·MBB·
-
-
- _ ___ \ _
- ___|__________/\______\//\________________________________________________ _
- \___ / ___/ \_____\//\______________ /\ ______/ _______/ ___ _
- | _/ \ _ \_ \/ | ___)_/_ ___/_/_ ___)_\______ \______
- | \ \/ / || | \ | \ | \ / / /
- _ __| \__________/____|| |____ |__ |__ _____/ ___ _
- `----' `-----' `------' `------' `---------' `------'
-
- [hOMELESS÷bBS!]
-
- [bIRDHOUSE^pROJECTS eUROPEAN hQ][mYTH! gERMAN hQ][aRT-cORE! fUN hQ]
-
- [sYSdOODE: -sLIME!^bIRDHOUSE÷pROJECTS-lEADER^mYTH!]
- [cOdOODES: mOGUe!/sCX^aC! pRIMUS!/bP!-lEADER]
- [MR.VAiN/bNZ^aC! wHIRLWIND/mYTH!]
-
- [uPLOADER:GeNeRaTioN ][oF:[+] PRODIGY '95 [+]]
- [uPLOAD tIME:13:51:59][uPLOAD dATE:03-Jan-95]
-
- _ ___ \ _
- ___|__________/\______\//\________________________________________________ _
- \___ / ___/ \_____\//\______________ /\ ______/ _______/ ___ _
- | _/ \ _ \_ \/ | ___)_/_ ___/_/_ ___)_\______ \______
- | \ \/ / || | \ | \ | \ / / /
- _ __| \__________/____|| |____ |__ |__ _____/ ___ _
- `----' `-----' `------' `------' `---------' `------'
-
-
-
-
- «------------------[ eLITE gUYS wILL gET iNVITED hERE ]------------------»
- . . . . : · .
- ____/¦__ ___/¦____ __/¦___________/¦__ ¦ ¦___/¦__ !
- _ ____ \__\____ _// _____\_________ \ | | ____ \__ _:/\__
- /· |____//· | \\_____ ·\| | | \\| |/· |____/ \ Oo /
- // | \ | \ l \\ | | ·\_ // | \ /_--_\
- \__________\________/________/___j___j / \__________\ :\/
- -------------------------------------l____/ :----------- ¡
- · ·
- . : · . . . .
- ! _ ____/¦__ ¦ ¦____¦\____ ____/¦__ ___/¦____ __/¦_____ __
- _:/\__ _ _ ____ \__| |______ \ _ ____ \__\_ | _// _____ __ _
- \ Oo / /· |____/| |/· __ __/ /· |____//· | \\_____ ·\
- /_--_\ // | \| // | \_// | \ l \ l \\
- :\/ \__________\ \____j /\__________\________/________/
- ¡ -----------· :----l____/-------------------------------
- · ·
- <*> pRODIGY gHQ <*> nEUTRON wHQ <*> iLLUSION eHQ <*> dYNAMIX gHQ <*>
-
- Upload Date: [01-03-95] «» Upload Time: [07:18:53]
-
- «-------------------[ aSK eLITE fOR SYS-PW & NUMBA ! ]-------------------»
-
- .__ _ r
- : __tHIS fILE wAS D/L fROM I
- _ _02-Jan-95_________________________: N
- _| \/ | G
- \/ T¾R¾S¾I LEADER H¾Q \\ ² tRISTAR & rED
- \ sECTOR
- ö . |_/\________/\__.___ _/\_______ | W
- /\ |\ ._ \ \ \ ____)² iNC.
- . \/\------------|/ |/____/ \ / __)__!---------------.
- |\/ / ² / | \ \ 4nODEZ |
- | \_____| \_____²_____/___________/ !_
- |ö | | /_/\
- | _/\__.___ !/\_._/\________/\________/\______! _/\______ \_\/
- | \ \ \___!\ ._ \ ._ \ ____) \ . \ |
- 00:12:20 \ / |/ |/ / |/ / __)__ / | \_/¹
- / | \ | / / / / \ | \
- \_____²_____/____²_________/_________/___________/_____²_____/ö2Fö
- ² ²
- _!/\__ |__
- \ Oo / +49 p¾R¾I¾V¾A¾T¾E¾! ___| /
- eLITE gUYS /_--_\ \ //
- wILL gET ²\/ tHE hOLY mASTER iS \/|
- iNVITED hERE ! mClOUD ²
- ² aND hIS hELPING hAND iS mARIO :
- :
- ¾ aSK fOR nUMBER aND sYSPW/nUP
-
-
- @BEGIN_FILE_ID.DIZFREQUENTLY ASKED QUESTIONS ABOUT `C`
- -German Edition-
- 10-10
- @END_FILE_ID.DIZ
- /Teil 10/
-
- Q9.1 Woher bekomme ich eine Kopie des Standards?
-
-
- Zuerst muß man natürlich wissen, was man haben will: Der ANSI C
- Standard heißt ANSI/ISO 9899-1990, sprich, es ist die ISO-Norm
- ISO 9899 (die wiederum auch ISO/IEC 9899-1990 heißt...)
-
- Die Adresse des American National Standards Institute lautet:
-
- American National Standards Institute (ANSI)
- 11 West 42nd Street
- New York, NY 10036
- USA
-
- In Deutschland werden ISO-Standarddokumente vom Beuth Verlag
- vertrieben (ANSI-C ist ISO-C):
-
- Beuth Verlag GmbH
- 10772 Berlin
- Tel.: 030/2601-2260
- Fax: 030/2601-1260
- 62 Wo gibt's ...?
- ---------------------------------------------------------------
-
-
- Eine gute Quelle in den USA ist auch:
-
- Global Engineering Documents
- Tel.: (001)714-261-1455
-
- Alternativ ist ANSI/ISO 9899-1990 im Osborne McGraw-Hill Verlag
- erschienen:
-
- Schildt, Herbert: The Annotated ANSI C Standard.
- American National Standard for Programming Languages
- - C. ANSI/ISO 9899-1990. Berkeley, CA: Osborne
- McGraw-Hill, 1993(?). ISBN 0-07-881952-0.
-
- (tw)
-
-
- Q9.2 Woher bekomme ich eine Kopie der Rationale?
-
-
- Ander als der ANSI-Standard selbst ist die Rationale ([Ratio])
- Public Domain, darf also beliebig unentgeltlich verteilt
- werden. Sie ist zu erhalten
-
- - im TeX- und Postscript-Format auf dem ftp-Server
- "ftp.uu.net", in "doc/standards/ansi/X3.159-1989",
-
- - im Postscript-Format gegen Einsendung einer formatierten
- 720 KB, 3.5" Diskette und eines frankierten
- Rückumschlags von
-
- Wolfram Rösler
- Augustastr. 44-46
- 52070 Aachen
-
- - im Programmteil der Maus AC2. (wr)
-
-
- Q9.3 Woher bekomme ich eine Kopie des POSIX-Standards?
-
-
- Den POSIX-Standard kann man direkt beim IEEE in den USA kaufen:
-
- Institute of Electrical and Electronics Engineers
- Tel.: (001)908-981-1393
-
- (tw)
-
-
- Q9.4 Wo finde ich die aktuellste Version dieser FAQ?
-
-
- Wir bemühen uns, daß die aktuellste Version dieser FAQ immer in
- der Maus AC2 zu finden ist (siehe auch Q9.2).
-
- Da wir nicht im FidoNet aktiv sind, haben wir dort keine
- Distribution-Möglichkeit. Entsprechende Hinweise und lautstarke
- Wünsche, doch für eine Fido-Distribution zu sorgen, können wir
- Wo gibt's ...? 63
- ---------------------------------------------------------------
-
-
- daher nicht erfüllen. Von außen haben wir keinerlei
- Möglichkeiten, denn eine Verteilung im Fido muß innerhalb des
- FidoNet selbst organisiert werden. (tw)
-
-
- Q9.5 Ich suche einen Algorithmus für ...
-
-
- Ein Algorithmus ist ein (Rechen-)Vorgang der nach einem be-
- stimmten, sich wiederholenden Schema abläuft. Naturgemäß ist es
- dem Algorithmus daher völlig egal, in welcher Programmier-
- sprache er realisiert wird.
-
- Die Frage nach einem Algorithmus ist also nicht C-spezifisch.
- Algorithmen findet man - man glaubt es kaum - in Algorithmen-,
- Lehr- und insbesondere Grundlagenbüchern der Informatik und der
- entsprechenden Fachgebiete. (tw)
-
-
- ***
- 64 Wo gibt's ...?
- ---------------------------------------------------------------
- Acknowledgments 65
- ---------------------------------------------------------------
-
-
- Acknowledgments
-
-
- Hartmut Malzahn (ex "@ MK") gebührt Dank, da er für die erste
- FAQ eine "Endlagerstätte" in seine heute nicht mehr
- existierenden Maus-Box bereitstellte.
-
- Andreas Bagger @ H2 gelang das Kunststück, den ersten Bug-
- Report zur Version 1.0 abgesandt zu haben. Er sei
- stellvertretend für alle genannt, die uns auf echte Fehler
- hingewiesen haben.
-
- Die dümmste Anmerkung stammt von einem gewissen M.R. Die FAQ
- ist ihm nicht "deutsch" genug. Wir können gar nicht so viel
- essen, wie wir bei solchen Aussagen k*tzen möchten.
- 66 Acknowledgments
- ---------------------------------------------------------------
- Literatur 67
- ---------------------------------------------------------------
-
-
- Literatur
-
-
- An dieser Stelle ist eine Liste guter Literatur über C und
- benachbarte Gebiete geplant. Leider fehlt uns im Moment etwas
- die Zeit, also RSN ("real soon now"). Bis dahin muß folgende
- kurze Liste genügen:
-
- [K&R 78] Kernighan, Brian W.; Ritchie, Dennis M.: The C
- Programming Language. Englewood Cliffs, NJ:
- Prentice Hall, 1978.
-
- [K&R 83d] Kernighan, Brian W.; Ritchie, Dennis M.:
- Programmieren in C. München, Wien: Hanser Verlag,
- 1983.
-
- [K&R II 88] Kernighan, Brian W.; Ritchie, Dennis M.: The C
- Programming Language. Brian Kernighan, Advisor.
- 2nd. edition. Prentice Hall Software Series.
- Englewood Cliffs, NJ: Prentice Hall, 1988.
-
- [K&R II 90d] Kernighan, Brian W.; Ritchie, Dennise M.:
- Programmieren in C. 2. Auflage. München, Wien:
- Hanser Verlag, 1990.
-
- [Levi] Levine, John: Programming for Graphics Files in C
- and C++. John Wiley.
-
- [Plau 92] Plauger, P.J.; Brodie, J.: ANSI and ISO Standard C
- - Programmer's Reference. Microsoft Press, 1992.
-
- [Pre] Press; Flannery; Teukolsky; Vetterling: Numerical
- Recipes in C. Cambridge Press.
-
- [Ratio] Rationale for American National Standard for
- Information Systems - Programming Language - C.
- X3-159, 1988(?).
-
- [Rour 93] O'Rourke, Joseph: Computational Geometry in C.
- Cambridge University Press, 1993.
-
- [Schi 93] Schildt, Herbert: The Annotated ANSI C Standard.
- American National Standard for Programming
- Languages - C. ANSI/ISO 9899-1990. Berkeley, CA:
- Osborne McGraw-Hill, 1993(?).
-
- [Sedg 90] Sedgewick, Robert: Algorithms in C. Reading, MS:
- Addison-Wesley, 1990.
-
- [Sedg 92d] Sedgewick, Robert: Algorithmen in C. Bonn:
- Addison-Wesley, 1992.
-
-
- Inhalt
-
-
- Einleitung 1
-
- Kapitel 1 Begriffe 3
- Q1.1 Was ist der ANSI C Standard? Was ist ANSI
- C? . . . . . . . . . . . . . . . . . . . . . 3
- Q1.2 Was ist 'Kernighan und Ritchie C'? Was ist K&R
- C? Was K&R, K&R2? . . . . . . . . . . . . . 3
- Q1.3 Was ist die Rationale? . . . . . . . . . . . 4
- Q1.4 Was ist POSIX? . . . . . . . . . . . . . . . 4
- Q1.5 Was ist ein Reiser-Preprozessor? . . . . . . 5
- Q1.6 Was ist 'Alignment'? . . . . . . . . . . . . 6
- Q1.7 Was ist ein Sequence-Point? . . . . . . . . 7
- Q1.8 Was ist der Unterschied zwischen Formal- und
- Aktual-Parametern? . . . . . . . . . . . . . 9
- Q1.9 Was bedeutet "undefiniert", "undefiniertes
- Verhalten"? . . . . . . . . . . . . . . . . 9
- Q1.10 Was heißt "implementierungsdefiniert"? . . 10
- Q1.11 Was bedeutet "unspezifiziert",
- "unspezifiziertes Verhalten"? . . . . . . . 10
- Q1.12 Was bedeutet portabel? . . . . . . . . . . 10
- Q1.13 Was bedeutet portierbar? . . . . . . . . . 12
- Q1.14 Was ist robuste Programmierung? . . . . . . 12
- Q1.15 Was ist defensive Programmierung? . . . . . 13
- Q1.16 Was ist ein "String-Literal"? . . . . . . . 14
- Q1.17 Was ist der ECLG-Zyklus? . . . . . . . . . 15
-
- Kapitel 2 Preprozessor 17
- Q2.1 Wie unterscheidet sich ein K&R- von einem
- ANSI-Preprozessor? . . . . . . . . . . . . . 17
- Q2.2 Was soll die "übertriebene" Klammerung bei
- Makro-Definitionen? . . . . . . . . . . . . 22
-
- Kapitel 3 Deklarationen, Definitionen, Prototypen 23
- Q3.1 Was ist der Unterschied zwischen "Definition"
- und "Deklaration"? . . . . . . . . . . . . . 23
- Q3.2 Was ist ein Prototyp? . . . . . . . . . . . 24
- Q3.3 Wie lese ich komplexe Deklarationen? . . . . 25
- Q3.4 Warum soll man Funktionen mit variabler
- Argumemtenliste (wie z.B. printf()) nicht ohne
- Prototypen aufrufen? . . . . . . . . . . . . 28
- Q3.5 Wie sieht ein korrekt getyptes C-Programm
- aus? . . . . . . . . . . . . . . . . . . . . 29
- Q3.6 Warum kann ich "int f(int*,int*)" nicht als
- qsort()-Vergleichsfunktion benutzen? . . . . 30
-
-
- i
-
-
- Kapitel 4 Funktionen mit variabler Anzahl von
- Argumenten 33
- Q4.1 Wie programmiere ich eine Funktion mit
- variabler Anzahl von Argumenten? . . . . . . 33
- Q4.2 Wozu braucht man vprintf(), vsprintf()
- usw.? . . . . . . . . . . . . . . . . . . . 34
- Q4.3 Wie übergebe ich ein float an eine Funktion mit
- variabler Anzahl von Argumenten? Wie ein
- short? . . . . . . . . . . . . . . . . . . . 35
-
- Kapitel 5 Die main()-Funktion 37
- Q5.1 Wie lautet der Prototyp von main()? . . . . 37
- Q5.2 Was ist mit dem Rückgabewert von main()? . . 38
-
- Kapitel 6 Arrays & Pointer 39
- 6.1 Pointer . . . . . . . . . . . . . . . . . . . . 39
- Q6.1.1 Wie verstehe ich Pointer? Sind Pointer
- Adressen? . . . . . . . . . . . . . . . . 39
- Q6.1.2 Kann ich einen Pointer auf eine Funktion in
- einen Pointer auf Daten wandeln? . . . . . 41
- 6.2 Null-Pointer . . . . . . . . . . . . . . . . . . 41
- Q6.2.1 Ist 0 der Null-Pointer? . . . . . . . . . 42
- Q6.2.2 Ist NULL der Null-Pointer? . . . . . . . . 42
- Q6.2.3 Ist ein Null-Pointer ein Pointer mit allen
- Bits auf 0? . . . . . . . . . . . . . . . 43
- 6.3 Diverses . . . . . . . . . . . . . . . . . . . . 43
- Q6.3.1 Ist "char *[]" das gleiche wie "char
- **"? . . . . . . . . . . . . . . . . . . . 43
- Q6.3.2 Wie initialisiere ich ein mehrdimensionales
- Array? . . . . . . . . . . . . . . . . . . 44
-
- Kapitel 7 Programmieren 47
- Q7.1 Was ist guter Programmierstil? Was ist lesbare
- Programmierung? . . . . . . . . . . . . . . 47
- Q7.2 Wie werde ich ein guter C-Programmierer? . . 51
- Q7.3 Programmieren ist doch nur Tipparbeit,
- oder? . . . . . . . . . . . . . . . . . . . 53
-
- Kapitel 8 Diverses 55
- Q8.1 Kann ich Variablen anlegen, deren Namen mit
- Underscore beginnen? . . . . . . . . . . . . 55
- Q8.2 0 ist FALSE, aber was ist TRUE? . . . . . . 55
- Q8.3 Ist C ein Aprilscherz? . . . . . . . . . . . 57
- Q8.4 Was ist der OCCC? . . . . . . . . . . . . . 58
- Q8.5 Wie programmiert man Interrupts? . . . . . . 58
- Q8.6 Wie programmiere ich meine VGA-Karte? . . . 58
- Q8.7 Wie steuere ich meinen Lautsprecher an? . . 59
- Q8.8 Wie bekomme ich unter DOS ein Array von
- 1000x1000 Integers? . . . . . . . . . . . . 59
-
- Kapitel 9 Wo gibt's ...? 61
- Q9.1 Woher bekomme ich eine Kopie des
- Standards? . . . . . . . . . . . . . . . . . 61
- Q9.2 Woher bekomme ich eine Kopie der
- Rationale? . . . . . . . . . . . . . . . . . 62
- Q9.3 Woher bekomme ich eine Kopie des POSIX-
- Standards? . . . . . . . . . . . . . . . . . 62
-
-
- ii
-
-
- Q9.4 Wo finde ich die aktuellste Version dieser
- FAQ? . . . . . . . . . . . . . . . . . . . . 62
- Q9.5 Ich suche einen Algorithmus für ... . . . . 63
-
- Acknowledgments 65
-
- Literatur 67
-
- /Ende der FAQ/
-
- Keep hacking
- Wolfram
-
-
-
-
- «------------------[ eLITE gUYS wILL gET iNVITED hERE ]------------------»
- . . . . : · .
- ____/¦__ ___/¦____ __/¦___________/¦__ ¦ ¦___/¦__ !
- _ ____ \__\____ _// _____\_________ \ | | ____ \__ _:/\__
- /· |____//· | \\_____ ·\| | | \\| |/· |____/ \ Oo /
- // | \ | \ l \\ | | ·\_ // | \ /_--_\
- \__________\________/________/___j___j / \__________\ :\/
- -------------------------------------l____/ :----------- ¡
- · ·
- . : · . . . .
- ! _ ____/¦__ ¦ ¦____¦\____ ____/¦__ ___/¦____ __/¦_____ __
- _:/\__ _ _ ____ \__| |______ \ _ ____ \__\_ | _// _____ __ _
- \ Oo / /· |____/| |/· __ __/ /· |____//· | \\_____ ·\
- /_--_\ // | \| // | \_// | \ l \ l \\
- :\/ \__________\ \____j /\__________\________/________/
- ¡ -----------· :----l____/-------------------------------
- · ·
- <*> pRODIGY gHQ <*> nEUTRON wHQ <*> iLLUSION eHQ <*> dYNAMIX gHQ <*>
-
- Upload Date: [01-03-95] «» Upload Time: [07:18:53]
-
- «-------------------[ aSK eLITE fOR SYS-PW & NUMBA ! ]-------------------»
-
- [-AquaAdder v1.0-]
-
-
-
-
-
-
- -sLiME!^bP·LEADER^mTH!
- mOGUe!^aC! pRIMUS!/bP·lEADER
- wHIRLWIND/mTH! MR.VAIN/BNZ^sXi^aC!
-
- -- --- ---- pHUKKIN' fAST aMIGA ^ wORLD'S lARGEST cHIPTUNE aREA ---- --- --
- ____
- ___| |_____________ __________________ ____________________________
- _/ _| | ._________\/__________ \ _/___\______ \ _____/ _____/
- \ \. | l/ / \/ | _____/_ l / _____/\____ _/\____ \_
- \___| |________/____||-Mo!|________________/_______\ _______\ ________/
- l____| l____| \/ \/
-
- -- --- ---- aMI-eX fREE-lEECH ^ bIG aSCII bASE © bY aC! ---- --- --
-
- -- mYTH! gHQ - -÷- - bIRDHOUSE pROJECTS! eHQ - -÷- - aRT-cORE! eHQ --
-
- _______________ _____ _____ _________ ___________________
- \. /________ |. /_____:o | /. \/|___/_ \ /
- \___ _____/|. / \|| /|. |: |// ______/·|. / ______ \ ___/
- /. /_/· || / \: \|| |· |/ / \ \/ || /_______ \/+ /
- // ____/ || \ \ \ \: ¯¯¯ | / / / || \ /·\ / \ __/_
- // / // |+ \ \ \ \___/ | \___/ / |· \/ \/ / /
- /· / \\ / \ / |: | / / / /
- \___/ \________/_____|\___/: |_____|_______/\________/_______/______/
- l_____|·MBB·
-
-