ทุกสิ่งที่คุณต้องการรู้เกี่ยวกับตัวชี้ในภาษา C



บทความนี้จะแนะนำหัวข้อที่คิดว่าเป็นเรื่องยุ่งยากในการเรียนรู้เรากำลังอ้างถึงหัวข้อของคำแนะนำในภาษาซี

ในขณะที่เรียนภาษา C คุณอาจเจอคำว่า 'Pointers' และมักจะได้ยินว่าเป็นแนวคิดที่เข้าใจยาก พอยน์เตอร์มีประโยชน์ในงานการเขียนโปรแกรมต่างๆและไม่ยากที่จะเข้าใจ บทความนี้จะแนะนำคุณเกี่ยวกับพอยน์เตอร์ในภาษา C และบอกคุณว่าเหตุใดจึงไม่ยากที่จะเรียนรู้อย่างที่เห็น

ต่อไปนี้เป็นคำแนะนำที่กล่าวถึงในบทความนี้





  1. ตัวชี้คืออะไร?
  2. ตัวดำเนินการอ้างอิงและตัวดำเนินการ De-Reference
  3. ประเภทของตัวชี้
  4. วิธีใช้ตัวชี้

เริ่มต้นด้วยบิตแรกของตัวชี้นี้ในบทความ 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++ } } 

เอาต์พุต

เอาต์พุต - ตัวชี้ใน C - Edurekaลองติดตั้งโค้ดด้วยตัวเองและดำเนินการคำนวณทางคณิตศาสตร์ต่างๆมาใช้พอยน์เตอร์กับสตริงกัน

#include #include int main () {char str [] = 'Hello World' / * การสร้างอาร์เรย์ * / char * p / * ตัวชี้ * / p = str printf ('การพิมพ์อักขระทั้งหมดในสตริงของเรา') p = str สำหรับ (int i = 0i


ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบล็อกนี้ในเรื่อง 'Pointers In C' ฉันหวังว่าคุณจะพบข้อมูลนี้และเป็นประโยชน์โปรดติดตามบทช่วยสอนเพิ่มเติมในหัวข้อที่คล้ายกันนอกจากนี้คุณยังสามารถชำระเงินโปรแกรมการฝึกอบรมของเราได้
o รับความรู้เชิงลึกเกี่ยวกับ jQuery พร้อมกับแอพพลิเคชั่นต่างๆที่คุณทำได้ สำหรับการฝึกอบรมออนไลน์สดพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิตติดตั้งโค้ดด้านบนด้วยสตริงและการปรับเปลี่ยนที่แตกต่างกัน ตอนนี้เรามีความเข้าใจเป็นอย่างดีเกี่ยวกับแนวคิดหลักทั้งหมดที่เกี่ยวข้องกับตัวชี้

มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นของบล็อกนี้แล้วเราจะติดต่อกลับไป