Als «c99» getaggte Fragen

Dieses Tag ist für Fragen zur Internationalen Norm ISO 9899: 1999, auch bekannt als "C99", mit technischen Berichtigungen und für Fragen zu Code, der in C99 geschrieben wurde (im Gegensatz zu K & R C, C89 oder späteren C-Standard-Revisionen wie der 2011er Revision C11). .


2
Realistische Verwendung des C99-Schlüsselworts "einschränken"?
Ich habe einige Dokumentationen und Fragen / Antworten durchgesehen und gesehen, dass sie erwähnt wurden. Ich las eine kurze Beschreibung und erklärte, dass es im Grunde ein Versprechen des Programmierers wäre, dass der Zeiger nicht verwendet wird, um auf eine andere Stelle zu zeigen. Kann jemand einige realistische Fälle anbieten, …
182 c  gcc  c99  restrict-qualifier 

10
Standardalternative zum ## __ VA_ARGS__ Trick von GCC?
In C99 gibt es ein bekanntes Problem mit leeren Argumenten für verschiedene Makros. Beispiel: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Die Verwendung von BAR()oben ist gemäß dem C99-Standard in der Tat falsch, da es erweitert wird auf: printf("this breaks!",); Beachten Sie das nachfolgende …


4
Konvertierung von Bool nach Int
Wie portabel ist diese Konvertierung? Kann ich sicher sein, dass beide Behauptungen zutreffen? int x = 4<5; assert(x==1); x = 4>5; assert(x==0); Fragen Sie nicht warum. Ich weiß, dass es hässlich ist. Danke dir.
130 c++  c  c99 

3
Wie gibt das folgende Programm "C89" aus, wenn es im C89-Modus kompiliert wird, und "C99", wenn es im C99-Modus kompiliert wird?
Ich habe dieses C-Programm aus dem Internet gefunden: #include <stdio.h> int main(){ printf("C%d\n",(int)(90-(-4.5//**/ -4.5))); return 0; } Das Interessante an diesem Programm ist, dass es beim Kompilieren und Ausführen im C89-Modus gedruckt wird C89und beim Kompilieren und Ausführen im C99-Modus gedruckt wird C99. Aber ich kann nicht herausfinden, wie dieses …
128 c  printf  comments  c99  c89 

5
Was ist der Unterschied zwischen C, C99, ANSI C und GNU C?
Ich habe mit dem Programmieren von Codechef begonnen und war durch den Unterschied zwischen C und C99 verwirrt . Was bedeutet C hier? Ist es C89? Überprüfen Sie die Sprachen am Ende dieser Übermittlung . Es enthält sowohl C als auch C99. Ich habe im Internet etwas namens GNU C …
122 c  gcc  c99  c89  ansi-c 



7
C99 stdint.h Header und MS Visual Studio
Zu meinem Erstaunen habe ich gerade festgestellt, dass die C99 stdint.h ab MS Visual Studio 2003 fehlt. Ich bin mir sicher, dass sie ihre Gründe haben, aber weiß jemand, wo ich eine Kopie herunterladen kann? Ohne diesen Header habe ich keine Definitionen für nützliche Typen wie uint32_t usw.
113 c++  c  visual-studio  c99 


8
Printf-Breitenbezeichner zur Aufrechterhaltung der Genauigkeit des Gleitkommawerts
Gibt es einen printfBreitenbezeichner, der auf einen Gleitkomma- Bezeichner angewendet werden kann, der die Ausgabe automatisch auf die erforderliche Anzahl signifikanter Stellen formatiert, sodass beim erneuten Einscannen der Zeichenfolge der ursprüngliche Gleitkommawert erfasst wird? Angenommen, ich drucke a floatmit einer Genauigkeit von 2Dezimalstellen: float foobar = 0.9375; printf("%.2f", foobar); // …

3
Ist "inline" ohne "statisch" oder "extern" in C99 jemals nützlich?
Wenn ich versuche, diesen Code zu erstellen inline void f() {} int main() { f(); } über die Kommandozeile gcc -std=c99 -o a a.c Ich erhalte einen Linkerfehler (undefinierter Verweis auf f). Der Fehler verschwindet, wenn ich static inlineoder extern inlinestatt nur verwende inlineoder wenn ich mit kompiliere -O(die Funktion …
95 c  inline  c99 


3
Gibt es Maschinen, bei denen sizeof (char)! = 1 oder mindestens CHAR_BIT> 8 ist?
Overа этот вопрос есть ответы на Stapelüberlauf на русском : Кто-нибудь встречал в своей практике sizeof (char)! = 1? Gibt es Maschinen (oder Compiler), wo sizeof(char) != 1? Sagt der C99-Standard , dass sizeof(char)bei der Implementierung der Standardkonformität genau 1 sein muss? Wenn ja, geben Sie mir bitte die Abschnittsnummer …
93 c  char  standards  sizeof  c99 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.