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.



2
Zeit unter Linux messen - Zeit gegen Uhr gegen getrusage gegen clock_gettime gegen gettimeofday gegen timespec_get?
Zu den Zeitfunktionen, time, clock getrusage, clock_gettime, gettimeofdayund timespec_get, mag ich klar verstehen , wie sie umgesetzt werden und was sind ihre Rückgabewerte , um zu wissen , in welcher Situation ich habe sie zu nutzen. Zuerst müssen wir Funktionen klassifizieren, die Wanduhrwerte zurückgeben , im Vergleich zu Funktionen, die …
148 c  linux  time  linux-kernel 

10
Wie funktioniert Duffs Gerät?
Ich habe den Artikel auf Wikipedia auf dem Gerät des Duff gelesen und verstehe ihn nicht. Ich bin wirklich interessiert, aber ich habe die Erklärung dort ein paar Mal gelesen und verstehe immer noch nicht, wie das Gerät des Duff funktioniert. Was wäre eine detailliertere Erklärung?
147 c  duffs-device 

10
Was bedeutet void * und wie benutzt man es?
Als ich heute den Code anderer las, sah ich so etwas wie void *func(void* i);: Was bedeutet das void*hier für den Funktionsnamen bzw. für den Variablentyp? Wann müssen wir diese Art von Zeiger verwenden und wie wird er verwendet?
147 c 

13
Wie sind Alltagsmaschinen programmiert?
Wie sind alltägliche Maschinen (weniger Computer und mobile Geräte als Geräte, Digitaluhren usw.) programmiert? Welche Art von Code fließt in die Programmierung eines Coca-Cola-Automaten ein? Wie akzeptiert meine Kaffeemaschine eine vorprogrammierte Zeit und beginnt Stunden später, wenn diese Zeit eintrifft, mit dem Brühen einer Kanne Kaffee? Haben diese Arten von …

2
Lesen eines Strings mit scanf
Ich bin ein bisschen verwirrt über etwas. Ich hatte den Eindruck, dass die richtige Art, eine C-Saite mit zu lesen, scanf()nach dem Vorbild von (egal der mögliche Pufferüberlauf, es ist nur ein einfaches Beispiel) char string[256]; scanf( "%s" , string ); Das Folgende scheint jedoch auch zu funktionieren: scanf( "%s" …
147 c  scanf 

9
Warum scheint C ++ rand () nur Zahlen derselben Größenordnung zu generieren?
In einer kleinen Anwendung, die in C / C ++ geschrieben wurde, habe ich ein Problem mit der randFunktion und möglicherweise dem Startwert: Ich möchte eine Folge von Zufallszahlen erzeugen, die unterschiedliche Ordnungen haben, dh unterschiedliche Logarithmuswerte (Basis 2). Es scheint jedoch, dass alle produzierten Zahlen in derselben Größenordnung liegen …
146 c++  c  math  random 

5
Weisen Sie in C eine Struktur einer anderen zu
Können Sie eine Instanz einer Struktur einer anderen zuweisen, wie folgt: struct Test t1; struct Test t2; t2 = t1; Ich habe gesehen, dass es für einfache Strukturen funktioniert, aber funktioniert es für komplexe Strukturen? Woher weiß der Compiler, wie Datenelemente abhängig von ihrem Typ kopiert werden, dh zwischen einem …
146 c  struct 

3
Was ist der Zweck eines einzelnen Pfund- / Hash-Zeichens (#) in einer eigenen Zeile im C / C ++ - Präprozessor?
Ich habe mir den Quellcode der Boost- Bibliotheken angesehen und festgestellt, dass häufig einzelne Pfundzeichen ohne Präprozessoranweisungen vorhanden sind. Ich habe das Handbuch und die Spezifikationsanleitung des GCC-Präprozessors gelesen und kann nichts darüber finden. (1) #ifndef BOOST_CONFIG_HPP (2) # include <boost/config.hpp> (3) #endif (4) # (5) #if defined(BOOST_HAS_PRAGMA_ONCE) (6) # …
145 c++  c  boost  c-preprocessor 


6
Const vor oder const nach?
Zu Beginn wissen Sie wahrscheinlich, dass constdamit entweder die Daten eines Objekts oder ein Zeiger nicht geändert werden können oder beides. const Object* obj; // can't change data Object* const obj; // can't change pointer const Object* const obj; // can't change data or pointer Sie können jedoch auch die …
145 c++  c  syntax  const 

6
Können wir Kommentare in Variablennamen schreiben?
int main() { i/*nt*/a = 10; return 0; } Wenn ich den obigen Code habe und die Token zählen möchte, sind es dann 14 oder 13 Token? Ist es gültig, einen Kommentar innerhalb eines Variablennamens zu schreiben? Sie können davon ausgehen , dass die int i, int a, int iaglobal …


4
Warum hat pthread_cond_wait falsche Weckrufe?
Um die Manpage zu zitieren: Bei Verwendung von Bedingungsvariablen gibt es immer ein boolesches Prädikat mit gemeinsam genutzten Variablen, die jeder Bedingungswartezeit zugeordnet sind. Dies ist der Fall, wenn der Thread fortgesetzt werden soll. Es können falsche Aufweckvorgänge mit den Funktionen pthread_cond_timedwait () oder pthread_cond_wait () auftreten. Da die Rückgabe …
144 c  pthreads 

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.