Als «pointers» getaggte Fragen

Datentyp, der auf einen anderen im Speicher gespeicherten Wert "zeigt". Eine Zeigervariable enthält eine Speicheradresse einer anderen Entität (Variable oder Funktion oder andere Entität). Dieses Tag sollte für Fragen verwendet werden, bei denen Zeiger und keine Referenzen verwendet werden. Die am häufigsten verwendeten Programmiersprachen mit Zeigern sind C, C ++, Go und Assemblersprachen. Verwenden Sie ein bestimmtes Sprach-Tag. Andere hilfreiche Tags sind Methode, Funktion, Struktur usw., die die Verwendung von Zeigern beschreiben.


6
Wie kommt es, dass die Adresse eines Arrays gleich dem Wert in C ist?
Im folgenden Codebit unterscheiden sich Zeigerwerte und Zeigeradressen wie erwartet. Array-Werte und Adressen jedoch nicht! Wie kann das sein? Ausgabe my_array = 0022FF00 &my_array = 0022FF00 pointer_to_array = 0022FF00 &pointer_to_array = 0022FEFC #include <stdio.h> int main() { char my_array[100] = "some cool string"; printf("my_array = %p\n", my_array); printf("&my_array = %p\n", …
189 c  pointers  arrays 



2
Warum ist "dies" ein Zeiger und keine Referenz?
Ich habe die Antworten auf diese Frage C ++ Vor- und Nachteile gelesen und diesen Zweifel beim Lesen der Kommentare bekommen. Programmierer finden es häufig verwirrend, dass "dies" ein Zeiger, aber keine Referenz ist. Eine weitere Verwirrung ist, warum "Hallo" nicht vom Typ std :: string ist, sondern als char …



29
Was fällt den Leuten an C-Zeigern schwer? [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, …
173 c  pointers 


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 

10
Soll ich ganze Objekte oder Zeiger auf Objekte in Containern speichern?
Ein neues System von Grund auf neu entwerfen. Ich werde die STL verwenden, um Listen und Karten bestimmter langlebiger Objekte zu speichern. Frage: Sollte ich sicherstellen, dass meine Objekte Kopierkonstruktoren haben und Kopien von Objekten in meinen STL-Containern speichern, oder ist es im Allgemeinen besser, die Lebensdauer und den Umfang …
162 c++  stl  pointers 

8
Warum verwenden C ++ - Bibliotheken und Frameworks niemals intelligente Zeiger?
Ich habe in einigen Artikeln gelesen, dass rohe Zeiger fast nie verwendet werden sollten. Stattdessen sollten sie immer in intelligente Zeiger eingeschlossen werden, unabhängig davon, ob es sich um Gültigkeitsbereichs- oder gemeinsam genutzte Zeiger handelt. Ich bemerkte jedoch, dass Frameworks wie Qt, wxWidgets und Bibliotheken wie Boost niemals intelligente Zeiger …

8
Rückgabe eines Arrays mit C.
Ich bin relativ neu in C und brauche Hilfe bei Methoden, die mit Arrays umgehen. Ich komme aus der Java-Programmierung und bin es gewohnt, sagen int [] method()zu können, um ein Array zurückzugeben. Ich habe jedoch herausgefunden, dass Sie mit C Zeiger für Arrays verwenden müssen, wenn Sie sie zurückgeben. …
151 c  arrays  pointers  char 

12
Warum ist x [0]! = X [0] [0]! = X [0] [0] [0]?
Ich lerne ein wenig C ++ und kämpfe mit Zeigern. Ich verstehe, dass ich 3 Zeigerebenen haben kann, indem ich Folgendes erkläre: int *(*x)[5]; Das *xist also ein Zeiger auf ein Array von 5 Elementen, auf die Zeiger sind int. Auch weiß ich , dass x[0] = *(x+0);, x[1] = …
149 c++  c  arrays  pointers 

17
Was ist der Sinn von const-Zeigern?
Ich spreche nicht von Zeigern auf const-Werte, sondern von const-Zeigern selbst. Ich lerne C und C ++ über das Grundlegende hinaus und habe bis heute festgestellt, dass Zeiger wertmäßig an Funktionen übergeben werden, was Sinn macht. Dies bedeutet, dass ich innerhalb einer Funktion den kopierten Zeiger auf einen anderen Wert …
149 c++  c  pointers  const 

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.