‫ยินดีต้อนรับกลับ.
‫ในวิดีโอนี้ เราจะมาดูความแตกต่างระหว่างประเภทค่าและประเภทอ้างอิง
‫ดังนั้นชนิดข้อมูลจึงสามารถแบ่งได้เป็น 2 ประเภทตามประเภทของข้อมูลที่ใช้ตำแหน่งหน่วยความจำ
‫และเราจะพิจารณาประเภทเหล่านั้นโดยละเอียด
‫ก่อนอื่น เราดูที่ประเภทค่า
‫ตามชื่อที่แนะนำ มันเป็นชนิดข้อมูลที่เมื่อประกาศและกำหนดค่า จะเก็บค่านั้นไว้โดยตรงบนพื้นที่หน่วยความจำของตัวเอง
‫ไม่เป็นไร.
‫ดังนั้นประเภทค่าจึงใช้ฮีปในการจัดเก็บค่า ตัวอย่างประเภทค่าคือประเภทข้อมูล เช่น int float
‫long double char bool decimal double
‫โดยพื้นฐานแล้ว ชนิดข้อมูลอย่างง่ายในตอนนี้ มาดูการแสดงรูปภาพของประเภทค่ากัน
‫สมมติว่าเราสร้างตัวแปรใหม่ชื่อ Z และมีค่าเท่ากับ 234
‫ดังนั้นตอนนี้ค่านี้ 234 จะถูกเก็บไว้ใน RAM ที่ตำแหน่งของตัวแปร Z นี้
‫ไม่เป็นไร.
‫แล้วถ้าเราดูรายละเอียดประเภทอ้างอิง เราจะเห็นว่ามันเป็นประเภทตัวแปรที่แทนที่จะเก็บค่าในหน่วยความจำโดยตรง
‫จะเก็บเฉพาะตำแหน่งหน่วยความจำของข้อมูลจริงเท่านั้น
‫ตัวแปรที่นี่จะเก็บข้อมูลอ้างอิงหน่วยความจำของข้อมูล ไม่ใช่ข้อมูลโดยตรง
‫นี่คือความแตกต่างอย่างมาก
‫ใช่ไหม
‫ดังนั้นประเภทข้อมูลอ้างอิงคืออาร์เรย์คลาสสตริง โดยทั่วไปประเภทข้อมูลที่ซับซ้อนกว่าและต้องการพื้นที่มากขึ้น
‫สิ่งนี้ทำเพื่อประหยัดทรัพยากรและทำให้โปรแกรมของเราเร็วที่สุดเท่าที่เป็นไปได้ เพราะจากนั้นเราไม่จำเป็นต้องรับค่าและย้ายค่าไปรอบ
‫ๆ ตลอดเวลา
‫แต่เราสามารถพูดได้ว่า โอเค ค่าอยู่ที่ตำแหน่งนั้น ดังนั้นคุณสามารถดึงมันจากที่นั่นแทนได้
‫ตัวอย่างเช่น การคัดลอกข้อมูลนั้นไปรอบๆ เมื่อเราใช้งาน
‫ไม่เป็นไร.
‫ดังนั้นเมื่อเราคัดลอกประเภทข้อมูลอ้างอิงนี้ มันจะคัดลอกที่อยู่หน่วยความจำของข้อมูลเท่านั้น
‫ดังนั้นเราจะมีตัวแปรสองตัวที่ชี้ไปที่ข้อมูลเดียวกันนั้น
‫ลองดูที่การแสดงภาพที่นี่
‫ดังนั้นเราจึงมีสตริงนี้ชื่อแรกชื่อว่าเดนนิส แล้วเราก็มีแอดเดรสของค่าตัวแปร
‫ตามด้วยค่าจริง
‫ดังนั้นคุณสามารถเห็นได้ที่นี่ว่า
‫ค่านี้เป็นเพียงที่อยู่ที่คุณเห็นที่นี่ แต่ที่อยู่ของชื่อตัวแปรอยู่ที่นี่
‫ดังนั้นที่อยู่ของค่าตัวแปรและค่าจริงจะถูกเก็บไว้ในสองตำแหน่งที่แตกต่างกันใน RAM ของคุณ
‫ดังนั้น โดยรวมแล้ว ที่อยู่ของค่าตัวแปรนั้นสั้นมาก
‫มันเป็นแค่ตัวเลขพื้นฐานจริงๆ ใช่ไหม
‫แต่ในทางกลับกัน มูลค่าที่แท้จริงนั้นค่อนข้างซับซ้อน
‫ดังนั้นมันจึงอาจเป็นวัตถุที่ค่อนข้างซับซ้อนและมีข้อมูลเก็บไว้มากมาย
‫และนั่นเป็นเหตุผลที่ดีกว่าสำหรับโปรแกรมของเราที่จะใช้วิธีนี้หรือสำหรับ C คมโดยทั่วไป
‫สมมุติว่าคุณไปเช่า คุณอยากได้รถ
‫ถูกต้อง.
‫ดังนั้นคุณไปเช่ารถแล้วคุณอยู่ที่เคาน์เตอร์และคุณต้องการรับรถที่คุณสั่งซื้อ
‫เคาน์เตอร์ไม่มีรถของคุณ แต่มีที่ตั้งของรถคุณ
‫ดังนั้นมันจะให้กุญแจกับคุณ และมันจะบอกคุณ ไปทางนี้แล้วคุณจะพบรถในแถว แถวๆ แถวๆ แถวๆ
‫แถวๆ แถวๆ แถวๆ แถวๆ หรือพื้น อะไรก็ได้
‫จากนั้นคุณสามารถไปที่นั่นและรับรถของคุณได้
‫ดังนั้น แทนที่จะเก็บรถไว้ภายในเคาน์เตอร์ ซึ่งใช้งานไม่ได้เพราะรถจะใหญ่เกินไป พวกเขามีข้อมูลอ้างอิงทั้งหมดที่รถอยู่
‫เพื่อให้คุณสามารถหยิบมันขึ้นมาได้อย่างง่ายดาย แม้ว่าตัวอย่างนี้จะขาดไปเล็กน้อย ความซับซ้อนที่เหลือเล็กน้อยที่เรามีที่นี่
‫แต่บางทีนี่อาจช่วยให้คุณเข้าใจประเภทการอ้างอิงได้ดีขึ้นเล็กน้อย
‫ไม่เป็นไร.
‫แค่นั้นแหละสำหรับตอนนี้
‫กลับไปที่โคดี้กันเถอะ
‫เจอกันใหม่ในวิดีโอหน้าครับ