Tôi muốn in nội dung phía sau & myVariable. Tôi đã thử NSLog (& myIntVar); nhưng nó sẽ không hoạt động.Làm cách nào để in Địa chỉ bộ nhớ của biến?
Trả lời
Đối số cho NSLog cần phải được một NSString, vì vậy bạn muốn
NSLog(@"%p", &myIntVar);
Hãy thử:
NSLog(@"%p", &myIntVar);
hoặc
NSLog(@"%lx", (long)&myIntVar);
Phiên bản đầu tiên sử dụng in con trỏ cụ thể định dạng, giả định rằng tham số được truyền là một con trỏ, nhưng xử lý nội bộ nó như một thời gian dài.
Phiên bản thứ hai lấy địa chỉ, sau đó chuyển nó thành số nguyên dài. Điều này là cần thiết cho tính di động trên nền tảng 64 bit, bởi vì không có bộ định dạng định dạng "l
", giả sử rằng giá trị được cung cấp là một số nguyên, thường chỉ dài 32 bit.
Tôi khuyên bạn nên chống lại phiên bản thứ hai, bạn không đạt được bất cứ điều gì. % p đã hoạt động như mong đợi trên nền tảng 32 hoặc 64 bit. –
Apple đặc biệt đề cập đến chính phương thức sau: http://developer.apple.com/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1 – Alnitak
Nslog (@ "% x", & myIntVar); % x là dài int hoặc bạn có thể in như Nslog (@ "% p", & myIntVar); % p là dành cho con trỏ
- 1. địa chỉ bộ nhớ in của biến số Python
- 2. C địa chỉ # bộ nhớ và biến
- 3. Làm thế nào để dịch địa chỉ bộ nhớ ảo sang địa chỉ thực?
- 4. làm thế nào để có được địa chỉ bộ nhớ của một mảng NumPy cho C
- 5. Tại sao bộ nhớ byte địa chỉ và không phải bộ nhớ địa chỉ 4 byte?
- 6. địa chỉ trở về của biến cục bộ trong C
- 7. C địa chỉ của một địa chỉ của một biến
- 8. gdb tìm địa chỉ bộ nhớ của số dòng
- 9. Cách sử dụng GDB để tìm địa chỉ bộ nhớ nào tương ứng với
- 10. Sử dụng C-string: "Địa chỉ của bộ nhớ ngăn xếp gắn liền với biến địa phương trả lại"
- 11. Làm thế nào để xóa bộ nhớ cache/bộ nhớ đệm in trên MacOSX
- 12. Làm thế nào để thay đổi giá trị được lưu trữ trong địa chỉ bộ nhớ?
- 13. Làm cách nào để in biến $ rootScope?
- 14. Làm thế nào để tính số bit địa chỉ cần thiết cho bộ nhớ?
- 15. Vô hiệu hóa việc ngẫu nhiên địa chỉ bộ nhớ
- 16. Địa chỉ bộ nhớ truy cập trong C#
- 17. Cùng một địa chỉ của hai biến?
- 18. Làm cách nào để ẩn thanh địa chỉ/thanh địa chỉ của cửa sổ javascript?
- 19. Làm cách nào để lấy địa chỉ vật lý (MAC) của địa chỉ IP bằng C#?
- 20. Làm cách nào để xóa bộ nhớ cache của UIWebView?
- 21. Truy cập địa chỉ bộ nhớ đối tượng trong ruby ..?
- 22. Làm cách nào để xác định địa chỉ IP của máy cục bộ từ Perl?
- 23. In byte từ bộ nhớ trong C
- 24. Làm cách nào để xóa bộ nhớ cache của iFrame?
- 25. Làm cách nào để lấy địa chỉ của cấu trúc trong C?
- 26. Tại sao địa chỉ ngăn xếp phát triển theo hướng giảm địa chỉ bộ nhớ?
- 27. Làm cách nào để chỉ định địa chỉ cục bộ trên java.net.URLConnection?
- 28. Tại sao địa chỉ bộ nhớ bắt đầu bằng 0x?
- 29. Tôi làm cách nào để sử dụng bộ nhớ cục bộ để lưu trữ giá trị của nhiều biến?
- 30. Làm thế nào để in tên của biến trong C++?
Tốt hơn, chúng tôi @ "% p". % x định dạng một giá trị số nguyên như hệ thập lục phân, trong khi% p là đặc biệt cho con trỏ, và bổ sung miếng đệm đại diện hệ thập lục phân nó in. –
Điểm tốt! Tôi đã cập nhật câu trả lời cho phù hợp :) – smorgan