บทความนี้ให้คำแนะนำในการค้นหาที่อยู่หน่วยความจำของตัวแปรใน C++
วิธีกำหนดที่อยู่หน่วยความจำของตัวแปรใน C ++
ใน C++ มีสองวิธีในการกำหนดที่อยู่หน่วยความจำของตัวแปร:
วิธีที่ 1: ค้นหาที่อยู่หน่วยความจำของตัวแปรโดยใช้ 'ที่อยู่ของ' & ตัวดำเนินการ
เมื่อเราต้องกำหนดที่อยู่หน่วยความจำของตัวแปร เราสามารถใช้ “ที่อยู่ของผู้ประกอบการ” (&) ซึ่งส่งคืนที่อยู่ของตัวแปร หากต้องการแสดงที่อยู่ของตัวแปร ให้ใช้ '&' พร้อมกับชื่อตัวแปร
ให้เราใช้โปรแกรมตัวอย่างเพื่อสาธิตสิ่งนี้:
#รวมถึง
ใช้เนมสเปซมาตรฐาน ;
นานาชาติ หลัก ( )
{
นานาชาติ หมายเลข 1 ;
ลอย หมายเลข 2 ;
สตริง str ;
ศาล << 'โปรดป้อนค่าจำนวนเต็มเพื่อค้นหาที่อยู่หน่วยความจำ: ' ;
การกิน >> หมายเลข 1 ;
ศาล << 'หมายเลขที่ป้อนคือ: ' << หมายเลข 1 << จบ ;
ศาล << 'ที่อยู่ของ' << หมายเลข 1 << ' เป็น: ' <<& หมายเลข 1 << จบ ;
ศาล << 'โปรดป้อนค่าทศนิยมเพื่อค้นหาที่อยู่หน่วยความจำ: ' ;
การกิน >> หมายเลข 2 ;
ศาล << 'หมายเลขที่ป้อนคือ :' << หมายเลข 2 << จบ ;
ศาล << 'ที่อยู่ของ' << หมายเลข 2 << ' เป็น :' <<& หมายเลข 2 << จบ ;
ศาล << 'โปรดป้อนสตริงเพื่อค้นหาที่อยู่หน่วยความจำ: ' ;
การกิน >> สตริง ;
สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < สตริง ความยาว ( ) ; ++ ฉัน )
ศาล << 'ที่อยู่ของ' << สตริง [ ฉัน ] << ' เป็น :' << ( เป็นโมฆะ * ) & สตริง [ ฉัน ] << จบ ;
กลับ 0 ;
}
ป้ายกำกับตัวแปรของเราในโปรแกรมด้านบนคือ num1, num2 และ str โดยมีชนิดข้อมูลเป็น int, float และ string ตามลำดับ ตัวดำเนินการ '&' ใช้กับชื่อตัวแปรเพื่อค้นหาที่อยู่หน่วยความจำ ควรสังเกตว่าเอาต์พุตที่ให้ที่อยู่ของตัวแปรเป็นตัวเลขที่สร้างขึ้นแบบสุ่ม
วิธีที่ 2: ค้นหาที่อยู่หน่วยความจำของตัวแปรโดยใช้ตัวชี้
ใน C++ สามารถรับแอดเดรสตัวแปรได้โดยใช้พอยน์เตอร์ ตัวแปรที่เก็บแอดเดรสของตัวแปรอื่นจะเรียกว่าพอยน์เตอร์ พอยน์เตอร์ทำหน้าที่เหมือนตัวแปรอื่นๆ ที่ต้องระบุก่อนที่จะนำไปใช้ได้ ตัวชี้ถูกกำหนดใน C ++ ด้วย '*' ตัวดำเนินการ บางครั้งเรียกว่าตัวดำเนินการเครื่องหมายดอกจัน
มาดูตัวอย่างโปรแกรมเพื่อค้นหาที่อยู่หน่วยความจำโดยใช้ตัวชี้:
#รวมถึง#รวมถึง <สตริง>
ใช้เนมสเปซมาตรฐาน ;
นานาชาติ หลัก ( ) {
นานาชาติ หมายเลข 1 ;
นานาชาติ * ptr_num1 = & หมายเลข 1 ;
ลอย หมายเลข 2 ;
ลอย * ptr_num2 = & หมายเลข 2 ;
สตริง str ;
ศาล << 'โปรดป้อนค่าจำนวนเต็มเพื่อค้นหาที่อยู่หน่วยความจำ: ' ;
การกิน >> หมายเลข 1 ;
ศาล << 'หมายเลขที่ป้อนคือ: ' << หมายเลข 1 << จบ ;
ศาล << 'ที่อยู่ของ' << หมายเลข 1 << ' เป็น: ' << ptr_num1 << จบ ;
ศาล << 'โปรดป้อนค่าทศนิยมเพื่อค้นหาที่อยู่หน่วยความจำ: ' ;
การกิน >> หมายเลข 2 ;
ศาล << 'หมายเลขที่ป้อนคือ: ' << หมายเลข 2 << จบ ;
ศาล << 'ที่อยู่ของ' << หมายเลข 2 << ' เป็น: ' << ptr_num2 << จบ ;
ศาล << 'โปรดป้อนสตริงเพื่อค้นหาที่อยู่หน่วยความจำ: ' ;
การกิน >> สตริง ;
สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < สตริง ความยาว ( ) ; ฉัน ++ ) {
ศาล << 'ที่อยู่ของ' << สตริง [ ฉัน ] << ' เป็น: ' << ( เป็นโมฆะ * ) & สตริง [ ฉัน ] << จบ ;
}
กลับ 0 ;
}
ป้ายกำกับตัวแปรในโปรแกรมนี้คือ num1, num2 และ str โดยมีชนิดข้อมูลเป็น int, float และ string ตามลำดับ ที่อยู่ตัวแปรถูกกำหนดโดยใช้ตัวชี้พร้อมกับชื่อตัวแปร ควรสังเกตว่าเอาต์พุตที่ให้ที่อยู่ของตัวแปรเป็นตัวเลขที่สร้างขึ้นแบบสุ่ม
บทสรุป
เมื่อเราประกาศตัวแปรประเภทข้อมูลใด ๆ ใน C++ ระบบปฏิบัติการจะกำหนดตำแหน่งหน่วยความจำ ตำแหน่งหน่วยความจำนี้เป็นตัวเลขที่กำหนดเองซึ่งไม่สามารถเป็นค่าลบได้ และเรียกว่าแอดเดรสของตัวแปร การทราบที่อยู่หน่วยความจำของตัวแปรจะมีประโยชน์ในสถานการณ์การเขียนโปรแกรมบางอย่าง ในบทความนี้ เราได้แสดงให้เห็นสองวิธีคือ ที่อยู่ของผู้ดำเนินการ(&) และ ตัวแปรพอยน์เตอร์ เพื่อกำหนดที่อยู่หน่วยความจำของตัวแปรใน C++ พร้อมกับตัวอย่างง่ายๆ