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.

8
Platzierung der variablen Deklaration in C.
Ich habe lange gedacht, dass in C alle Variablen am Anfang der Funktion deklariert werden müssen. Ich weiß, dass in C99 die Regeln dieselben sind wie in C ++, aber wie lauten die Regeln für die Platzierung von Variablendeklarationen für C89 / ANSI C? Der folgende Code wird erfolgreich mit …
129 c  declaration  c89 



15
Konzept des Leerzeigers in der C-Programmierung
Ist es möglich, einen ungültigen Zeiger ohne Typumwandlung in der Programmiersprache C zu dereferenzieren? Gibt es auch eine Möglichkeit, eine Funktion zu verallgemeinern, die einen Zeiger empfangen und in einem ungültigen Zeiger speichern kann, und können wir mithilfe dieses ungültigen Zeigers eine verallgemeinerte Funktion erstellen? für zB: void abc(void *a, …
129 c  void-pointers 

11
Wie können Leerzeichen mit scanf eingegeben werden?
Verwenden Sie den folgenden Code: char *name = malloc(sizeof(char) + 256); printf("What is your name? "); scanf("%s", name); printf("Hello %s. Nice to meet you.\n", name); Ein Benutzer kann seinen Namen eingeben, aber wenn er einen Namen mit einem Leerzeichen wie eingibt Lucas Aardvark, wird danach scanf()einfach alles abgeschnitten Lucas. Wie …
129 c  string  printf  scanf  whitespace 

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 



10
Zeigerausdrücke: * ptr ++, * ++ ptr und ++ * ptr
Vor kurzem bin ich auf dieses Problem gestoßen, das ich selbst nicht verstehen kann. Was bedeuten diese drei Ausdrücke WIRKLICH ? *ptr++ *++ptr ++*ptr Ich habe Ritchie ausprobiert. Aber leider konnte er nicht folgen, was er über diese 3 Operationen erzählte. Ich weiß, dass sie alle ausgeführt werden, um den …
128 c++  c  pointers  increment 

7
Was passiert, wenn ich in C / C ++ ein Array der Größe 0 definiere?
Nur neugierig, was passiert eigentlich, wenn ich ein Array mit der Länge Null int array[0];im Code definiere? GCC beschwert sich überhaupt nicht. Beispielprogramm #include <stdio.h> int main() { int arr[0]; return 0; } Klärung Ich versuche tatsächlich herauszufinden, ob Arrays mit der Länge Null, die auf diese Weise initialisiert wurden, …
127 c++  c  arrays 

12
Ist es möglich, Python zu Maschinencode zu kompilieren?
Wie machbar wäre es, Python (möglicherweise über eine C-Zwischendarstellung) in Maschinencode zu kompilieren? Vermutlich müsste eine Verknüpfung zu einer Python-Laufzeitbibliothek hergestellt werden, und alle Teile der Python-Standardbibliothek, die selbst Python waren, müssten ebenfalls kompiliert (und eingebunden) werden. Außerdem müssten Sie den Python-Interpreter bündeln, wenn Sie Ausdrücke dynamisch auswerten möchten, aber …
127 python  c  linker  compilation 




5
Python (und Python C API): __new__ versus __init__
Die Frage, die ich stellen werde, scheint ein Duplikat von Pythons Verwendung von __new__ und __init__ zu sein. Trotzdem ist mir immer noch unklar, was genau der praktische Unterschied zwischen __new__und __init__ist. Bevor Sie mir sagen, dass dies __new__zum Erstellen von Objekten und __init__zum Initialisieren von Objekten dient, lassen Sie …
126 python  c  python-c-api 

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.