Als «c» getaggte Fragen

C ist eine universelle Programmiersprache, die für die Systemprogrammierung (Betriebssystem und eingebettet), Bibliotheken, Spiele und plattformübergreifende Programme verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899 definiert (die neueste Version, 9899: 2018, sofern nicht anders angegeben - auch tagversionsspezifische Anforderungen mit c89, c99, c11 usw. kennzeichnen). C unterscheidet sich von C ++ und sollte ohne einen rationalen Grund nicht mit dem C ++ - Tag kombiniert werden.

3
Warum ist sizeof int falsch, während sizeof (int) richtig ist?
Wir wissen, dass dies sizeofein Operator ist, der zum Berechnen der Größe eines Datentyps und Ausdrucks verwendet wird. Wenn der Operand ein Ausdruck ist, können die Klammern weggelassen werden. int main() { int a; sizeof int; sizeof( int ); sizeof a; sizeof( a ); return 0; } Die erste Verwendung …
96 c++  c  sizeof 


4
Wie kann man feststellen, woher eine Header-Datei stammt?
Wie kann ich feststellen, wo g ++ eine Include-Datei finden konnte? Grundsätzlich wenn ich #include <foo.h> g ++ scannt den Suchpfad und verwendet alle Include-Optionen, um den Pfad hinzuzufügen oder zu ändern. Aber gibt es am Ende der Tage eine Möglichkeit, den absoluten Pfad von foo.h zu bestimmen, den g …
96 c++  c  gcc  include  g++ 




13
Wie kann man aus verschachtelten Schleifen ausbrechen?
Wenn ich eine breakAnweisung verwende, wird nur die innere Schleife unterbrochen, und ich muss ein Flag verwenden, um die äußere Schleife zu unterbrechen. Wenn es jedoch viele verschachtelte Schleifen gibt, sieht der Code nicht gut aus. Gibt es eine andere Möglichkeit, alle Schleifen zu durchbrechen? (Bitte nicht benutzen goto stmt.) …
96 c  nested-loops  break 

6
C-Programmierung in Visual Studio
Kann ich mit Visual Studio die C-Programmierung lernen? Im neuen Projektmenü kann ich zwischen Visual Basic, Visual C #, Visual C ++, Visual F # und anderen wählen, aber ich sehe nicht "C" oder "Visual C".
96 c  visual-studio 

7
Praktische Verwendung von setjmp und longjmp in C.
Kann mir jemand erklären, wo genau setjmp()und welche longjmp()Funktionen in der eingebetteten Programmierung praktisch eingesetzt werden können? Ich weiß, dass diese zur Fehlerbehandlung dienen. Aber ich würde gerne einige Anwendungsfälle kennen.
96 c 



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 

12
Wie kann ich "sizeof" in einem Präprozessor-Makro verwenden?
Gibt es eine Möglichkeit, a sizeof in einem Präprozessor-Makro zu verwenden? Zum Beispiel gab es im Laufe der Jahre eine Menge Situationen, in denen ich etwas tun wollte wie: #if sizeof(someThing) != PAGE_SIZE #error Data structure doesn't match page size #endif Das genaue, was ich hier überprüfe, ist vollständig erfunden …
95 c  gcc 

6
Der Tilde-Operator in C.
Ich habe den im ELF-Hashing-Algorithmus verwendeten Tilde-Operator gesehen und bin gespannt, was er bewirkt. (Der Code stammt von Eternally Confused .) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; …
95 c++  c  operators 


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.