Bạn đã biết cách hiển thị giá trị của một biến số, nhưng bạn có biết chúng ta cũng có thể hiển thị địa chỉ của biến số đó?
...Đương nhiên là bạn chưa biết rồi
Để hiển thị địa chỉ của một biến số, chúng ta cần sử dụng kí hiệu %p (p ở đây viết tắt của từ
pointer) trong printf. Mặt khác, chúng ta phải đưa vào printf địa chỉ của biến số đó và để làm việc này, bạn cần phải đặt kí hiệu & trước biến số đó (tuoi), giống như cách tôi hướng dẫn bạn sử dụng scanf, xem code sau:
C code:
printf ("Dia chi cua bien so tuoi la %p", &tuoi); Kết quả
Console
Dia chi cua bien so tuoi la 0023FF74
Đó là địa chỉ của biến số tuoi trong thời điểm chương trình hoạt động. Vâng, 0023FF74 là một số, nó đơn giản chỉ được viết trên hệ hexadecimal (thập lục phân), thay vì hệ decimal (thập phân) mà chúng ta thường sử dụng. Nếu bạn thay kí hiệu %pthành %d, bạn sẽ nhận được một số thập
phân mà bạn biết.
Nếu bạn chạy chương trình này trên máy tính của bạn, địa chỉ sẽ khác hoàn toàn. Tất cả phụ thuộc vào phần trống có trong bộ nhớ, chương trình bạn đang dùng,... Hoàn toàn không có khả năng báo trước địa chỉ nào của biến số sẽ được cấp. Nếu bạn thử chạy chương trình liên tục nhiều lần, địa chỉ có thể sẽ không đổi trong thời điểm đó. Nhưng nếu bạn khởi động lại máy tính, chương trình chắc chắn sẽ hiển thị một giá trị khác.
Vậy chúng ta sẽ làm gì với tất cả những thứ đó? Tôi cần bạn nẵm vững những điều sau:
tuoi: tượng trưng cho giá trị của biến số. &tuoi: tượng trưng cho địa chỉ của biến số. Với tuoi, máy tính sẽ đọc và gửi lại giá trị của biến số.