Search and Find

Book Title

Author/Publisher

Table of Contents

Show eBooks for my device only:

 

Moderne C-Programmierung - Kompendium und Referenz

of: Helmut Schellong

Springer-Verlag, 2005

ISBN: 9783540285458 , 280 Pages

Format: PDF, Read online

Copy protection: DRM

Windows PC,Mac OSX,Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Read Online for: Windows PC,Mac OSX,Linux

Price: 6,99 EUR



More of the content

Moderne C-Programmierung - Kompendium und Referenz


 

8 Der neue C-Standard C99 (S. 47-48)

8.1 Vorwort

Am 1.Dez.1999 wurde der zur Zeit aktuelle C-Standard C99 Ansi/Iso/Iec 9899:1999 verö.entlicht. Der Abstand von 10 Jahren zum Vorgänger Ansi-C89 wurde absichtlich so gewählt/eingehalten.

Der alte Standard von 1989/90 ist laut C99 offziell ungültig. Verschiedene neue Merkmale des C99 wurden an einigen anderen Stellen dieses CBuches mit Hilfe des Begriffes C99 markiert.

Dieser neue Standard wurde bei weitem nicht so begeistert aufgenommen von der C-Gemeinde wie C89/90, aber dennoch bietet er einige erfreuliche Neuerungen, die stellenweise sogar ein neues Konzeptdenken möglich machen.

Die tollsten Neuheiten sind VL-Arrays (VLAs) und long long als 64bit-Integer- Typ. Diese Merkmale erö.nen wirklich neue Perspektiven und Konzepte bei der Programmierung und Problemlösung.

Compiler wie der gcc beherrschten schon lange zuvor solche Merkmale, allerdings gcc-spezi.sch, nicht (vollständig) konform mit C99. Die anderen Neuerungen sind nur weitere Optimierungshilfen, Vervollständigungen, Präzisierungen und kleinere bis mittlere Annehmlichkeiten.

8.2 Neue Merkmale

8.2.1 Kurzbeschreibungen

//
Zeilenkommentar. Viele C-Compiler akzeptieren dies schon länger.

inline
Funktions-Kode wird überall direkt eingesetzt, wie Makroersetzungen. Jetzt auch in C; C++ hat dies Schlüsselwort von Anfang an.

restrict
Typ-Qualifizierer, wie const und volatile.

Optimierungsmöglichkeit: Privater Speicherbereich für eine Adressenvariable. Der Programmierer garantiert dem Compiler, daß zwei oder mehr Adressenbereiche nicht überlappen, auf die mittels jeweils zugeordneter Adressen-Variable zugegri.en wird. Wenn eine Adressen-Variable solchermaßen:

int * restrict p;

qualifiziert ist, dann soll jeder Zugri. auf ein Objekt mittels der in p enthaltenen jeweiligen Adresse im jeweiligen Gültigkeitsbereich eben nur mittels p erfolgen, niemals auch mit anderen (Adressen-)Variablen. Zwei Pointer können sich beispielsweise ein und dasselbe Array teilen, sollen sich dann aber bei ihren Zugri.en nicht ins Gehege kommen. Man kann sagen, p hat exklusive Rechte, und der p zugeordnete Speicher ist ein restriktiver Bereich.