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.


13
Ist die Größe von C "int" 2 Bytes oder 4 Bytes?
Besetzt eine Integer-Variable in C 2 Bytes oder 4 Bytes? Von welchen Faktoren hängt es ab? Die meisten Lehrbücher sagen, dass ganzzahlige Variablen 2 Bytes belegen. Wenn ich jedoch ein Programm ausführe, das die aufeinanderfolgenden Adressen eines Arrays von Ganzzahlen druckt, wird der Unterschied von 4 angezeigt.
168 c  int  byte 


6
Warum werfen einige Leute in C den Zeiger, bevor sie ihn freigeben?
Ich arbeite an einer alten Codebasis und so ziemlich jeder Aufruf von free () verwendet eine Besetzung für sein Argument. Beispielsweise, free((float *)velocity); free((float *)acceleration); free((char *)label); Dabei ist jeder Zeiger vom entsprechenden (und übereinstimmenden) Typ. Ich sehe überhaupt keinen Sinn darin. Es ist sehr alter Code, also frage ich …
167 c  pointers  casting 

9
Warum wird flüchtig in der Multithread-C- oder C ++ - Programmierung nicht als nützlich angesehen?
Wie in dieser Antwort, die ich kürzlich gepostet habe, gezeigt wurde, bin ich verwirrt über den Nutzen (oder das Fehlen davon) volatilein Multithread-Programmierkontexten. Mein Verständnis ist folgendes: Jedes Mal, wenn eine Variable außerhalb des Kontrollflusses eines Codes, der darauf zugreift, geändert werden kann, sollte diese Variable als solche deklariert werden …

9
Gibt es einen Ersatz für unistd.h für Windows (Visual C)?
Ich portiere ein relativ einfaches Konsolenprogramm, das für Unix geschrieben wurde, auf die Windows-Plattform ( Visual C ++ 8.0 ). Alle Quelldateien enthalten "unistd.h", das nicht existiert. Wenn ich es entferne, bekomme ich Beschwerden über das Fehlen von Prototypen für 'srandom', 'random' und 'getopt'. Ich weiß, dass ich die Zufallsfunktionen …
165 c++  c  windows  portability  unistd.h 

18
Was ist der schnellste Teilstring-Suchalgorithmus?
OK, also ich klinge nicht wie ein Idiot. Ich werde das Problem / die Anforderungen expliziter darlegen: Nadel (Muster) und Heuhaufen (zu durchsuchender Text) sind nullterminierte Zeichenfolgen im C-Stil. Es werden keine Längeninformationen bereitgestellt. Bei Bedarf muss es berechnet werden. Die Funktion sollte einen Zeiger auf die erste Übereinstimmung zurückgeben …
165 c  algorithm  string  substring 

4
Warum habe ich ++; ich--; gleich nacheinander?
Ich habe mir den Quellcode für nmap angesehen , der 1997 veröffentlicht wurde, und mir ist dieser Codeabschnitt aufgefallen, der für mich etwas seltsam aussieht: int i=0, j=0,start,end; char *expr = strdup(origexpr); ports = safe_malloc(65536 * sizeof(short)); i++; /* <<<<<< */ i--; /* <<<<<< */ for(;j < exlen; j++) if …
164 c  nmap 


4
Warnung: Inkompatible implizite Deklaration der eingebauten Funktion 'xyz'
Beim Kompilieren einiger Binärdateien werden einige dieser Warnungen angezeigt: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ Um dies zu beheben, habe ich hinzugefügt #include <stdlib.h> oben in den C-Dateien, die dieser Warnung zugeordnet …
164 c  gcc  gcc-warning 



5
Ist das __attribute __ ((gepackt)) / #pragma pack von gcc unsicher?
In C legt der Compiler die Elemente einer Struktur in der Reihenfolge an, in der sie deklariert sind, wobei mögliche Füllbytes zwischen den Elementen oder nach dem letzten Element eingefügt werden, um sicherzustellen, dass jedes Element ordnungsgemäß ausgerichtet ist. gcc bietet eine Spracherweiterung __attribute__((packed)), die den Compiler anweist, keine Auffüllungen …
164 c  gcc  pragma-pack 

1
Ist D eine glaubwürdige Alternative zu Java und C ++? [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
163 java  c++  c  d 


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.