Schlüsselwörter (C99)

Cemil

Erfahrenes Mitglied
Hallo,
ich habe mir heute das Buch "C von A bis Z" gekauft und hätte eine Frage zu den Schlüsselwörtern:

Auf S. 65 sind alle Schlüsselwörter aufgelistet, aber darunter sind 4, die erst bei neueren Compilern (C99) vorhanden sind:

complex, imaginary, inline und restrict.

Die Hilfe-Datei von Dev-C++ war keine grosse Hilfe für mich und auch im Netz habe ich nichts vernünftiges gefunden.

Kann ich z.B. ein C-Programm schreiben, wo mir alle Schlüsselwörter auflistet, die bei meinem Compiler (Dev-C++ V. 4.9.8.7) implementiert sind, oder wie kann ich das sonst herausfinden?

Für eure Antworten bedanke ich mich im voraus.

Ciao,
Cemil

-----------------------------------------------------------------
Ein unnütz Leben ist ein früher Tod. - Goethe
 
Kann ich z.B. ein C-Programm schreiben, wo mir alle Schlüsselwörter auflistet, die bei meinem Compiler (Dev-C++ V. 4.9.8.7) implementiert sind, oder wie kann ich das sonst herausfinden?
Mit einem Programm wird es ziemlich sicher nicht gehen.

Ich würde mich direkt an die Hersteller wenden: Bloodshed Software. Die haben auch ein Forum, wo du fragen könntest, oder du mailst sie mal an und frag sie direkt. Probier mal diesen Link, falls du es nicht schon getan hast: Bloodshed Software
 
Ich würde mich direkt an die Hersteller wenden: Bloodshed Software. Die haben auch ein Forum, wo du fragen könntest, oder du mailst sie mal an und frag sie direkt. Probier mal diesen Link, falls du es nicht schon getan hast: Bloodshed Software
Hallo Peter,
erst einmal vielen Dank für Deine Antwort.

Auf der Website von Bloodshed war ich schon. Auf die meisten Fragen findet man eine Antwort ( Features usw.), aber ob der Compiler der neuesten Version C99 tauglich ist steht nirgends.

Ich werde es mal mit einem mail versuchen.

Ciao,
Cemil

-----------------------------------------------------------------
Ein unnütz Leben ist ein früher Tod. - Goethe
 
Ich habe zwar noch keine Antwort von Bloodshed erhalten, aber beim weiterlesen habe ich (glaube ich auf jedenfall) die Antwort auf meine Frage gefunden.

Ich habe gelesen, das bei der Deklaration von Variablen ist so manches, was in C++ erlaubt ist, in C nicht erlaubt. Hierzu ein Quellcode:

Code:
#include <stdio.h>

int main()
{
   printf("Hallo Welt\n");
   int i;               /* Fehler in C, ok in C++ */
      
   scanf("%d",&i);
   for(int x=0; x < i; x++)   /* Fehler in C, ok in C++ */
   {
      /* Ok in C und C++, da am Anfang von Anweisungsblock */
      int x=2;
      printf("%d*%d=%d\n",x,i,x*i);
   }
   system("pause");
   return 0;
}
Wenn ich das Programm kompiliere erhalte ich folgende Fehlermeldung:

`for' loop initial declaration used outside C99 mode

Also ist mein Compiler nicht C99 tauglich, oder liege ich etwa falsch? Gibt es kostenlose Compiler, die C99 tauglich sind?

-----------------------------------------------------------------
Ein unnütz Leben ist ein früher Tod. - Goethe
 
Zuletzt bearbeitet:
Soweit ich weiß, darf man in C im ersten Parameter keine Variablen deklarieren
(folglich in den anderen zwei auch nicht)
Code:
// Diese Zeile
for(int x=0; x < i; x++)

// wird zu:
int x;
for(x=0; x < i; x++)
 
Doch, das geht!

Code:
for (int i=0; i <= 10; i++) // funktioniert....

...soweit ich weiss. Kann auch sein, dass ich mich irre!
 
Hi,
folgende Infos habe ich in der Hilfe von Dev-C++ v. 4.9.8.7 gefunden:

About Dev-C++:

Dev-C++ is a full-featured integrated development environment (IDE), which is able to create Windows (GUI, console, DLLs...) C/C++ programs using the Mingw compiler system or theorically any GCC based compiler.

Ich hoffe das hilft euch weiter. Mehr weiss ich auch nicht.

Von Bloodshed erwarte ich immer noch eine Antwort auf diese Frage (seit 3-4 Tagen). :(

Ich würde gerne diese Schlüsselwörter anhand von Programmbeispielen mal testen, aber ich find ja nixxx... :mad:

Könnte mir irgendjemand Programmbeispiele zu diesen 4 Schlüsselwörtern (complex, imaginary, inline und restrict) zusenden. Thx.

Greetings...
 
Zuletzt bearbeitet:
Hi,
beim Lesen des Buches stosse ich immer wieder auf Sätze, die mich glauben lassen, das ich einen C99 Compiler besitze.

Hier ein Beispiel:

In einigen (vorwiegend älteren) Büchern finden Sie die main()-Funktion mitunter in folgender Schreibweise:

void main()
{
}

Nach dem älteren C89-Standard ist dies auch richtig. Läuft ein Compiler aber nach dem C99-Standard, sollte dann eine Warnung ausgegeben werden, dass die main()-Funktion einen Rückgabewert erwartet.

Die main()-Funktion lautet (nach C99) richtig:

int main()
{
return 0;
}

Bei mir war das genau der Fall. Ich habe die main Funktion nach dem älteren C89-Standard eingegeben und habe danach eine Warnung erhalten:

[Warning] In function `main':
[Warning] `return' with a value, in function returning void
[Warning] return type of `main' is not `int'

Der GCC von Dev-C++ 4.9.8.7 steckt zwar noch in der Beta Version, aber zu 90% glaube ich, das ich einen C99 tauglichen Compiler besitze.

Jetzt brauche ich nur noch ein paar Programmbeispiele zu diesen 4 Schlüsselwörtern und danach kann ich dann gut schlafen. :-)

Ciao zämmmeeee (Baslerdeutsch ;) ) aus dem schönen Basel/Schweiz...
 
Zurück