01/10/2018, 00:20
Hỏi về cách lấy địa chỉ ô nhớ trong python (khái niệm con trỏ trong C, C++)
E thấy trong C, C++ để lấy địa chỉ của một biến ta dùng & và lấy giá trị thì dùng * . Em đang viết một chương trình cần lấy đến địa chỉ của một mảng. Trong diễn đàn có anh chị nào biết giải đáp hộ em trong python phải dùng như thế nào ạ
Bài liên quan
dùng id() nha
https://docs.python.org/2/library/functions.html#id
Dùng id()a sẽ lấy được địa chỉ, e muốn ngược lại nữa, tức lấy giá trị khi mình có địa chỉ
Mình không biết bạn muốn lấy địa chỉ của một biến làm gì, có thể là cố tình. Tuy nhiên nếu lập trình bình thường hàng ngày mà bạn phải động đến cái này thì tức là bạn đã đi sai hướng rồi đấy.
Dùng hàm
id(obj)
cũng được nhưng cái nó trả về không thực sự giống địa chỉ trong C/C++ đâu, chỉ có vai trò tương tự thôi. Thậm chí cả khi bạn dùnghex(id(obj))
để chuyển đổi nó sang dạng hexadecimal.Vì với một số nguyên nhỏ nhỏ gán cho 2 biến khác nhau hoàn toàn có thể có cùng ID (địa chỉ).
Nếu bạn thực sự muốn cách để lấy lại giá trị từ ID thì có nhiều cách, 1 trong những cách đơn giản nhất mình tìm được là đây:
Em cảm ơn ạ. E đang viết keygen nên cần lấy địa chỉ của ô nhớ
Nếu xong rồi bạn có thể mark topic này là solved ;).
Cho em hỏi tại sao với một số nguyên nhỏ nhỏ gán cho 2 biến khác nhau hoàn toàn có thể có cùng ID (địa chỉ) ??? Em test rồi nhưng không biết lý do ạ
bạn cho ví dụ thử, có thể 2 biến đấy compiler tối ưu bằng cách nào đó thành 1 biến chăng.