Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Vorwort des Gutachters
1 Einstieg in C
2 Das erste Programm
3 Grundlagen
4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()«
5 Basisdatentypen
6 Operatoren
7 Typumwandlung
8 Kontrollstrukturen
9 Funktionen
10 Präprozessor-Direktiven
11 Arrays
12 Zeiger (Pointer)
13 Kommandozeilenargumente
14 Dynamische Speicherverwaltung
15 Strukturen
16 Ein-/Ausgabe-Funktionen
17 Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C)
18 Arbeiten mit variabel langen Argumentlisten – <stdarg.h>
19 Zeitroutinen
20 Weitere Headerdateien und ihre Funktionen (ANSI C)
21 Dynamische Datenstrukturen
22 Algorithmen
23 CGI mit C
24 MySQL und C
25 Netzwerkprogrammierung und Cross–Plattform-Entwicklung
26 Paralleles Rechnen
27 Sicheres Programmieren
28 Wie geht’s jetzt weiter?
A Operatoren
B Die C-Standard-Bibliothek
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch
Buch: C von A bis Z

C von A bis Z
3., aktualisierte und erweiterte Auflage, geb., mit CD und Referenzkarte
1.190 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1411-7
Pfeil 10 Präprozessor-Direktiven
Pfeil 10.1 Einkopieren von Dateien mittels »#include«
Pfeil 10.2 Makros und Konstanten – »#define«
Pfeil 10.2.1 Symbolische Konstanten mit »#define«
Pfeil 10.2.2 Makros mit »#define«
Pfeil 10.3 Bedingte Kompilierung
Pfeil 10.4 Vordefinierte Präprozessor-Direktiven (ANSI C)
Pfeil 10.5 Ersetzung eines Makroparameters durch einen String
Pfeil 10.6 »#undef« – Makronamen wieder aufheben
Pfeil 10.7 Ausgeben von Fehlermeldungen – »#error«
Pfeil 10.8 »#pragma«


Rheinwerk Computing - Zum Seitenanfang

10.5 Ersetzung eines Makroparameters durch einen String topZur vorigen Überschrift

Ist in einem Ersetzungstext vor dem Parameter das Zeichen # gesetzt, werden beim Aufruf des Makros das # und der Parameter durch den entsprechenden String ersetzt:

#define ausgabe(variable) printf(#variable"=%d\n",variable)

Hier wird der Variablen zahl der Wert 10 (int Zahl=10;) übergeben. Steht im Programm beispielsweise:

ausgabe(Zahl);

dann wandelt dies der Präprozessor zunächst um in:

printf("Zahl"" = %d\n", Zahl);

Tatsächlich verhält sich der Ausdruck so, als würde Folgendes in der Zeile stehen:

printf("Zahl = %d\n", Zahl);

Hierzu ein kleines Programmbeispiel, in dem diese Technik verwendet wird:

/* replace_makrparam.c */
#include <stdio.h>
#include <stdlib.h>
/* Bei Linux muss für math.h das Compiler-Flag -lm
 * mit angegeben werden:
 * gcc -o strkont strkont.c -lm
 */
#include <math.h>

#define wurzel(zahl)\
   printf(#zahl" von %f = %f\n",zahl,sqrt(zahl))
#define summe(zahl1,zahl2)\
   printf(#zahl1 "+" #zahl2 " = %d\n",zahl1+zahl2)
#define gibaus(string)\
   printf(#string"\n")
#define wertvon(zahl,format)\
   printf(#zahl" = "format"\n",zahl)

int main(void) {
   float Wurzel;
   int Wert1 = 100, Wert2 = 150, integer = 20;
   char character = 's';
   float floating = 5.550f;

   printf("Zahl eingeben : ");
   scanf("%f",&Wurzel);
   wurzel(Wurzel);
   summe(Wert1,Wert2);
   gibaus(Hallo Welt);
   wertvon(character,"%c");
   wertvon(integer,"%d");
   wertvon(floating,"%f");
   return EXIT_SUCCESS;
}

Abbildung 10.4 Ersetzung eines Makroparameters durch einen String



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z

 C von A bis Z
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Einstieg in C++






 Einstieg in C++


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


Zum Katalog: C/C++






 C/C++


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-
 Programmierung


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Coding for Fun







 Coding for Fun 


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de