ที่อยู่หน่วยความจำใน C ++ คืออะไรและจะค้นหาได้อย่างไร

Thi Xyu Hnwy Khwam Ca Ni C Khux Xari Laea Ca Khnha Di Xyangri



ใน C++ ที่อยู่ของหน่วยความจำคือตำแหน่งของตัวแปรใน RAM ที่เก็บข้อมูล RAM (Random Access Memory) คือหน่วยความจำคอมพิวเตอร์ประเภทหนึ่งที่สามารถอ่านและแก้ไขได้ในลำดับใดก็ได้ และมักถูกใช้เพื่อจัดเก็บข้อมูลการทำงานและรหัสเครื่อง ในโปรแกรมของเรา ตัวแปรแต่ละตัวจะถูกจัดเก็บไว้ใน RAM และใช้พื้นที่ในหน่วยความจำ ตัวแปรเหล่านี้มีตำแหน่งหน่วยความจำเฉพาะ และแต่ละตัวแปรมีที่อยู่ที่สามารถดึงข้อมูลผ่าน ตัวดำเนินการเครื่องหมายและ (&) . ตัวดำเนินการนี้แสดงถึงที่อยู่หน่วยความจำของตัวแปรและมีประโยชน์สำหรับการเข้าถึงและจัดการข้อมูลที่จัดเก็บไว้ในตำแหน่งนั้น

บทความนี้ให้คำแนะนำในการค้นหาที่อยู่หน่วยความจำของตัวแปรใน 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++ พร้อมกับตัวอย่างง่ายๆ