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.

5
Wie inkrementiere ich eine Zeigeradresse und einen Zeigerwert?
Lasst uns annehmen, int *p; int a = 100; p = &a; Was macht der folgende Code eigentlich und wie? p++; ++p; ++*p; ++(*p); ++*(p); *p++; (*p)++; *(p)++; *++p; *(++p); Ich weiß, das ist in Bezug auf die Codierung etwas chaotisch, aber ich möchte wissen, was tatsächlich passieren wird, wenn …
88 c  pointers 


6
Wie vergleiche ich Zeiger?
Angenommen, ich habe 2 Zeiger: int *a = something; int *b = something; Wenn ich sie vergleichen und sehen möchte, ob sie auf dieselbe Stelle zeigen, funktioniert (a == b) dann?
87 c++  pointers 







5
"Int * nums = {5, 2, 1, 4}" verursacht einen Segmentierungsfehler
int *nums = {5, 2, 1, 4}; printf("%d\n", nums[0]); verursacht einen Segfault, während int nums[] = {5, 2, 1, 4}; printf("%d\n", nums[0]); nicht. Jetzt: int *nums = {5, 2, 1, 4}; printf("%d\n", nums); druckt 5. Auf dieser Grundlage habe ich vermutet, dass die Array-Initialisierungsnotation {} diese Daten blind in die …
81 c  arrays  pointers 

6
const char * und char const * - sind sie gleich?
Nach meinem Verständnis sollten constModifikatoren von rechts nach links gelesen werden. Daraus ergibt sich: const char* ist ein Zeiger, dessen char-Elemente nicht geändert werden können, der Zeiger selbst jedoch und char const* ist ein konstanter Zeiger auf mutableZeichen. Aber ich bekomme die folgenden Fehler für den folgenden Code: const char* …
81 c++  pointers  const 

3
Was bedeutet P :: ************ in der Datei Boost assert.hpp?
In boost / mpl / assert.hpp habe ich so etwas gesehen: template<class Pred> struct eval_assert { typedef typename extract_assert_pred<Pred>::type P; typedef typename P::type p_type; typedef typename ::boost::mpl::if_c<p_type::value, AUX778076_ASSERT_ARG(assert<false>), failed ************ P::************ >::type type; }; Wenn der erste ************als Zeiger der fehlgeschlagenen Struktur behandelt werden kann, P::************ergibt das für mich wirklich …
80 c++  pointers  boost 



13
Referenztyp in C #
Betrachten Sie diesen Code: public class Program { private static void Main(string[] args) { var person1 = new Person { Name = "Test" }; Console.WriteLine(person1.Name); Person person2 = person1; person2.Name = "Shahrooz"; Console.WriteLine(person1.Name); //Output: Shahrooz person2 = null; Console.WriteLine(person1.Name); //Output: Shahrooz } } public class Person { public string Name …
78 c#  .net  pointers 

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.