Ich möchte drucken, was hinter einer & myVariable ist. Ich probierte NSLog (& myIntVar); aber es wird nicht funktionieren.Wie kann ich die Speicheradresse einer Variablen ausdrucken?
Antwort
Das Argument NSLog muss ein NSString sein, so dass Sie
NSLog(@"%p", &myIntVar);
versuchen:
NSLog(@"%p", &myIntVar);
oder
NSLog(@"%lx", (long)&myIntVar);
Die erste Version des Zeigers spezifischen Druck verwendet Format, das davon ausgeht, dass der übergebene Parameter ein Zeiger ist, aber intern als Long behandelt wird.
Die zweite Version nimmt die Adresse und wandelt sie dann in eine lange Ganzzahl um. Dies ist für die Portabilität auf 64-Bit-Plattformen erforderlich, da ohne den Formatqualifikator "l
" angenommen würde, dass der angegebene Wert eine Ganzzahl ist, typischerweise nur 32 Bit lang.
Ich würde empfehlen, gegen die zweite Version, Sie nichts zu gewinnen. % p funktioniert auf 32- oder 64-Bit-Plattformen bereits wie erwartet. –
Apple erwähnt speziell die letztere Methode selbst: http://developer.apple.com/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1 – Alnitak
Nslog (@ "% x", & myIntVar); % x ist für long int oder Sie können wie Nslog (@ "% p", & myIntVar) drucken; % p ist für Zeiger
- 1. Wie kann ich die Speicheradresse einer JavaScript-Variablen erhalten?
- 2. LaTeX-Variablen ausdrucken
- 3. PHP - Wie kann ich meine Datenbanktabelle ausdrucken?
- 4. Wie kann ich die Elemente eines Arrays zweimal hintereinander ausdrucken?
- 5. Wie drucke ich die Speicheradresse von void **?
- 6. Wie kann ich die in LinkedHashMap gespeicherten Daten ausdrucken
- 7. Swift - kann nur die Speicheradresse des Objekts drucken
- 8. Speicheradresse einer Lambda-Funktion
- 9. Wie finde ich die Speicheradresse eines Python/Django-Modellobjekts?
- 10. Wie kann ich die Speicheradresse eines Werttyps oder einer benutzerdefinierten Struktur in Swift abrufen?
- 11. Wie kann ich die Player-Prefs einer booleschen Variablen speichern?
- 12. Wie kann ich die Form einer Variablen in TensorFlow ändern?
- 13. Wie kann ich die Daten eines UITextField einer Variablen zuordnen?
- 14. Wie kann ich das relative Objekt von der Speicheradresse bekommen?
- 15. Wie die Speicheradresse einer Aufgabe oder eine Variable in FreeRTOS
- 16. Wie kann ich nur den Index eines Pandas Datenrahmens ausdrucken?
- 17. Wie kann ich eine Methode aufrufen und das Ergebnis ausdrucken?
- 18. Die Notwendigkeit für die Laufzeit-Speicheradresse verbindlich
- 19. Speicheradresse Literal
- 20. Zugriff auf die Speicheradresse in C#
- 21. Python3 Mehrfachbelegung und Speicheradresse
- 22. Kann eine Speicheradresse in einer Zeichenfolge gespeichert werden?
- 23. So drucken Sie die Speicheradresse einer Liste in Haskell
- 24. Wie kann man die Array-Werte einer Karte in Elixir ausdrucken?
- 25. Wie kann ich den Wert einer git Konfigurationseinstellung (core.autocrlf) unter Windows ausdrucken?
- 26. Byte von der Speicheradresse holen?
- 27. GDB: Abrufen eines Symbolnamens von einer Speicheradresse
- 28. Ausdrucken einer verketteten Liste mit toString
- 29. Wie kann ich die Anzahl der eindeutigen Übereinstimmungen mit grep ausdrucken?
- 30. Prolog: Wert der Variablen während der Ausführung ausdrucken
Besser noch, wir @ "% p". % x formatiert einen Ganzzahlwert als Hexadezimalwert, während% p speziell für Zeiger steht und die hexadezimale Darstellung, die es druckt, zusätzlich auffüllt. –
Guter Punkt! Ich habe die Antwort entsprechend aktualisiert :) – smorgan