ในขณะที่เรียนภาษา C คุณอาจเจอคำว่า 'Pointers' และมักจะได้ยินว่าเป็นแนวคิดที่เข้าใจยาก พอยน์เตอร์มีประโยชน์ในงานการเขียนโปรแกรมต่างๆและไม่ยากที่จะเข้าใจ บทความนี้จะแนะนำคุณเกี่ยวกับพอยน์เตอร์ในภาษา C และบอกคุณว่าเหตุใดจึงไม่ยากที่จะเรียนรู้อย่างที่เห็น
ต่อไปนี้เป็นคำแนะนำที่กล่าวถึงในบทความนี้
เริ่มต้นด้วยบิตแรกของตัวชี้นี้ในบทความ C
ตัวชี้ในค
ตัวชี้คืออะไร?
ตัวชี้คือตัวแปรที่สามารถจัดเก็บที่อยู่ของตัวแปรได้ ตอนนี้คุณอาจถามว่าใช้อะไรได้บ้าง? โดยทั่วไปตัวชี้จะชี้ไปที่ตำแหน่งหน่วยความจำของตัวแปรที่มีแอดเดรสที่ระบุไว้ คุณสมบัตินี้ช่วยในการจัดสรรหน่วยความจำแบบไดนามิกซึ่งเป็นสิ่งสำคัญของการเขียนโปรแกรม
มาทำความเข้าใจเกี่ยวกับไวยากรณ์และดูตัวอย่าง
Data_Type * pointer_name
ตัวอย่าง: int * ptr
ความแตกต่างระหว่างเชฟกับหุ่น
ต่อไปนี้เป็นบิตถัดไปในบทความ Pointers in C
ตัวดำเนินการอ้างอิงและตัวดำเนินการ De-Reference
ก่อนที่จะเจาะลึกแนวคิดของตัวชี้มาทำความเข้าใจพื้นฐานบางอย่างที่จะช่วยเราในภายหลัง ในขณะที่ใช้พอยน์เตอร์คุณจะต้องใช้โอเปอเรเตอร์ '&' และ '*' อย่างแน่นอน ตอนนี้เป็นเวลาที่จะเข้าใจความหมายและการใช้งาน
ก่อนอื่นมาทำความเข้าใจกับโอเปอเรเตอร์อ้างอิงที่มักเรียกว่าโอเปอเรเตอร์ 'Address of' การใช้ตัวดำเนินการ (ampersand) กับตัวแปรจะส่งกลับตำแหน่งหน่วยความจำหรือที่เรียกว่าที่อยู่ของตัวแปรที่กำหนด
ตัวอย่าง
int * ptr int a ptr = & a
ที่อยู่ของตัวแปร 'a' จะถูกเก็บไว้ในตัวแปร ptr
ตอนนี้เรามาทำความเข้าใจกับโอเปอเรเตอร์ De-Referencing หรือ 'Value at' ซึ่งแสดงด้วยเครื่องหมายดอกจัน (*) ช่วยในการดึงค่าจากตำแหน่งหน่วยความจำซึ่งเก็บไว้ในตัวแปรพอยน์เตอร์
ตัวอย่าง
int * ptr int a * ptr = & a printf ('มูลค่าของ a =% dn', * ptr)
ประเภทของตัวชี้ * ที่ใช้ในขณะประกาศตัวชี้ไม่ได้มีไว้เพื่อวัตถุประสงค์ในการ De-Referencing แต่จะบอกคอมไพเลอร์ว่าตัวแปรที่กำหนดเป็นตัวชี้คำสั่งพิมพ์ด้านบนจะพิมพ์ค่าที่มีอยู่ในตำแหน่งหน่วยความจำและตำแหน่งหน่วยความจำนี้จะชี้โดยตัวชี้ นั่นคือค่าของตัวแปร 'a'
มีพอยน์เตอร์หลายประเภทซึ่งแตกต่างกันไปตามวิธีที่ใช้ในโปรแกรมเราจะมาดูประเภทที่ใช้กันมากที่สุด
ตัวชี้ Null
ค่าว่างถูกกำหนดให้กับตัวชี้เมื่อคุณไม่แน่ใจว่าจะกำหนดที่อยู่ใด สามารถทำได้โดยกำหนดค่า 'NULL' ให้กับตัวชี้ในขณะที่ประกาศ ค่าของตัวชี้นี้คือ 0
อัลกอริทึมการเรียนรู้ของเครื่องใน r
int * ptr = โมฆะ
ตัวชี้ป่า
วิทยาศาสตร์ข้อมูลคืออะไร
ตัวชี้ไวด์ถูกสร้างขึ้นโดยไม่กำหนดค่าใด ๆ ให้กับตัวแปรตัวชี้ ควรใช้อย่างระมัดระวังเพราะอาจส่งผลที่ไม่คาดคิดได้
ตัวชี้ห้อย
เมื่อตัวชี้ชี้ไปที่ตัวแปรที่ถูกลบหรือหน่วยความจำที่ไม่ได้จัดสรรตัวชี้จะเรียกว่าตัวชี้ห้อยตัวชี้นี้ชี้ไปที่ตำแหน่งหน่วยความจำที่ไม่มีอยู่ ให้เรามาดูส่วนต่อไปของคำแนะนำในบทความ C
วิธีใช้ตัวชี้
ตอนนี้เรามีความเข้าใจสั้น ๆ เกี่ยวกับตัวดำเนินการอ้างอิงและการอ้างอิง ในส่วนนี้เราจะเข้าใจวิธีใช้พอยน์เตอร์ จนถึงตอนนี้เราได้เรียนรู้วิธีการประกาศตัวชี้และใช้สำหรับการทำงานพื้นฐานบางอย่าง ณ จุดนี้เรามีความรู้เพียงพอที่จะใช้พอยน์เตอร์สำหรับงานการเขียนโปรแกรมที่น่าทึ่งจริงๆโดยการคำนวณทางคณิตศาสตร์
โดยปกติการดำเนินการเหล่านี้จะดำเนินการบนอาร์เรย์ การลบที่อยู่ 2 รายการจะทำให้เรามีระยะห่างระหว่างตำแหน่งหน่วยความจำ 2 ตำแหน่ง
int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * อาร์เรย์ของเราที่เราจะดำเนินการ * / int * ptr / * ตัวชี้ * / ptr = First_array / * กำหนดที่อยู่ของอาร์เรย์ให้กับตัวแปรตัวชี้ * / สำหรับ (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } }
เอาต์พุต
ลองติดตั้งโค้ดด้วยตัวเองและดำเนินการคำนวณทางคณิตศาสตร์ต่างๆมาใช้พอยน์เตอร์กับสตริงกัน
#include #include int main () {char str [] = 'Hello World' / * การสร้างอาร์เรย์ * / char * p / * ตัวชี้ * / p = str printf ('การพิมพ์อักขระทั้งหมดในสตริงของเรา') p = str สำหรับ (int i = 0i
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบล็อกนี้ในเรื่อง 'Pointers In C' ฉันหวังว่าคุณจะพบข้อมูลนี้และเป็นประโยชน์โปรดติดตามบทช่วยสอนเพิ่มเติมในหัวข้อที่คล้ายกันนอกจากนี้คุณยังสามารถชำระเงินโปรแกรมการฝึกอบรมของเราได้o รับความรู้เชิงลึกเกี่ยวกับ jQuery พร้อมกับแอพพลิเคชั่นต่างๆที่คุณทำได้ สำหรับการฝึกอบรมออนไลน์สดพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิตติดตั้งโค้ดด้านบนด้วยสตริงและการปรับเปลี่ยนที่แตกต่างกัน ตอนนี้เรามีความเข้าใจเป็นอย่างดีเกี่ยวกับแนวคิดหลักทั้งหมดที่เกี่ยวข้องกับตัวชี้มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นของบล็อกนี้แล้วเราจะติดต่อกลับไป