me gustaría imprimir lo que hay detrás de un myVariable &. Intenté NSLog (& myIntVar); pero no funcionará¿Cómo puedo imprimir la dirección de memoria de una variable?
Respuesta
El argumento para NSLog necesario que haya un NSString, por lo que desea
NSLog(@"%p", &myIntVar);
Probar:
NSLog(@"%p", &myIntVar);
o
NSLog(@"%lx", (long)&myIntVar);
La primera versión utiliza la impresión puntero específica formato, que asume que el parámetro pasado es un puntero, pero internamente lo trata como un largo.
La segunda versión toma la dirección, entonces arroja a un entero largo. Esto es necesario para la portabilidad en plataformas de 64 bits, ya que sin el calificador de formato "l
" supondría que el valor suministrado es un número entero, típicamente de solo 32 bits de longitud.
Recomiendo contra la segunda versión, no ganas nada. % p ya funciona como se esperaba en plataformas de 32 o 64 bits. –
de Apple menciona específicamente el último método mismos: http://developer.apple.com/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1 – Alnitak
NSLog (@ "% x", & myIntVar); % X es por mucho tiempo int o puede imprimir como NSLog (@ "% p", & myIntVar); % P es de puntero
- 1. Cómo imprimir/registrar la dirección de una variable en NDK
- 2. Cómo imprimir la dirección de una función?
- 3. ¿Cómo puedo obtener la dirección de memoria de una variable de JavaScript?
- 4. C# dirección de memoria y las variables
- 5. ¿Cómo imprimir los contenidos de la memoria de una variable en C?
- 6. gdb interpretar la dirección de memoria como un objeto
- 7. ¿Cómo puedo obtener la dirección de una estructura en C?
- 8. ¿diferencia entre imprimir una dirección de memoria usando% u y% d en C?
- 9. ¿Cómo poner una variable en una dirección absoluta dada en la memoria (con GCC)
- 10. dirección C de una dirección de una variable
- 11. Imprimir el valor de una variable XSL
- 12. dirección de memoria literal
- 13. Imprimir la dirección de la función de miembro virtual
- 14. imprimir nombre de la variable en C#
- 15. ¿La primitiva tiene asignada una dirección de memoria?
- 16. Android: ¿Cómo puedo imprimir una variable en la consola de eclipse?
- 17. Conozca la dirección de una variable en Visual Studio
- 18. ¿Cómo traducir una dirección de memoria virtual a una dirección física?
- 19. ¿Cómo obtener la dirección de memoria del montón de Java?
- 20. Eliminar una memoria variable
- 21. Cómo imprimir dirección de función miembro de C++
- 22. cómo imprimir variable dentro de awk
- 23. Cómo obtener una dirección de memoria específica usando C
- 24. ¿Cómo imprimir el nombre de una variable en C++?
- 25. ¿Cómo puedo imprimir la misma variable en una cadena varias veces?
- 26. Cómo imprimir una variable en una condición particular en gdb?
- 27. ¿Cómo puedo imprimir los valores de wchar_t en la consola?
- 28. ¿Cómo puedo convertir la dirección IPV6 a la dirección IPV4?
- 29. Dirección de memoria de acceso en C#
- 30. Variable de dirección fija en C
Mejor aún, nosotros @ "% p". % x formatea un valor entero como hexadecimal, mientras que% p es específicamente para punteros, y además rellena la representación hexadecimal que imprime. –
¡Buen punto! He actualizado la respuesta en consecuencia :) – smorgan