สวัสดีครับ ในที่สุดก็ได้มีเวลามาเขียนเนื้อหาในส่วนนี้ซะที เนื่องด้วยมีน้องๆ เข้ามาเรียนตัวต่อตัว เรื่องของ Pointer ในภาษา C กันเยอะมากๆ น่าะเป็นเรื่องที่ยากสำหรับต้นๆ ของคนที่พื้นฐานไม่ค่อยแข็งเลยทีเดียว เลยจัดเป็น บทความแบบติวสรุป สำหรับผู้ที่กำลังศึกษาเรื่อง Pointer ทั้งในภาษา C และ ภาษา C++ ครับ
เรื่อง Pointer นั้นที่จริงมีทั้ง ภาษา C และ ภาษา C++ แต่ในบทความชุดนี้จะเน้น Pointer ให้ภาษา C เป็นหลักนะครับ เอาล่ะ ! มาลุยกันเลยดีกว่า ส่วนใครที่พื้นฐานยังไม่แน่นแนะนำให้เริ่มจาก คอร์สภาษา C พื้นฐานก่อนนะ มีทั้งแบบออนไลน์คลิป และ ออนไลน์สดภาคค่ำ 1 เดือนเต็ม เรียนกันจุกๆ เลยล่ะ (อิอิ) (ดูคอร์สที่นี่)
หน่วยความจำ (Memory) คือ อะไร ?
หน่วยความจำ (Memory) คือ ชิ้นส่วนหนึ่ง ที่อยู่ในอุปกรณ์ที่สามารถประมวลผลได้ต่างๆ เช่น PC คอมพิวเตอร์ , Notebook , มือถือ หรือแม้แต่ อุปกรณ์ อย่าง Arduino , Raspberry Pi ยกตัวอย่างง่ายๆ เวลาคุณจะไปซื้อคอม เค้าก็จะบอกว่า แรมกี่ กิ๊ก (GB) หรือ มือถือ แรมกี่กิ๊ก ซึ่งถ้าภาษาบ้านๆ แรมเยอะก็แรง ก็ทำงานไวอะไรแบบนั้นแหละครับ
สรุป หน้าที่ของหน่วยความจำ (Memory) เอาไว้สำหรับ ทำให้อุปกรณ์ต่างๆจำข้อมูลได้ ตามชื่อของมันเลย
หน่วยความจำ (Memory) เกี่ยวอะไรกับ ตัวแปร (Variables)
เวลาคุณเขียนโปรแกรม แน่นอนว่าคุณต้องมีการ ประกาศตัวแปร (Variable deceleration) ในโปรแกรมของคุณบ้างไม่มากก็น้อย ซึ่งตัวแปรที่คุณเขียนโค้ดประกาศนั้น มันก็คือการสั่งให้คอมพิวเตอร์ทำการจองเนื้อที่ในหน่วยความจำ (Memory) เพื่อใช้สำหรับเก็บข้อมูลต่างๆ ที่ใช้ในโปรแกรมของคุณนั่นเอง
สรุป เวลาคุณเขียนโปรแกรมแล้วมีการใช้ตัวแปร มันคือการจองเนื้อที่ในหน่วยความจำ (Memory) และ เก็บข้อมูล (Data) ต่างๆ ลงในนั้นนั่นเอง
การมองภาพหน่วยความจำ (Memory) และ ตัวแปร (Variables) ให้เข้าใจง่าย
สำหรับผู้เริ่มต้นสิ่งที่สำคัญที่จะให้เราเข้าใจเรื่อง Pointer ได้ง่ายๆ นั่นคือการมองภาพให้ออกว่า หน่วยความจำ (Memory) และ ตัวแปร (Variables) หน้าตาเป็นแบบไหน วิธีการมองง่ายๆ เลยคือ หน่วยความจำ (Memory) ให้เรามองเป็นช่องๆ แล้วเมื่อเราประกาศตัวแปร มันคือการไปจองช่องเหล่านั้นเพื่อเก็บข้อมูล
สรุป หน่วยความจำ (Memory) ให้นึกถึงช่องที่เรียงต่อกัน แล้วตัวแปร (Variables) คือการจองเนื้อที่ตรงนั้นมาใช้งานในการเก็บข้อมูล (Data)
เรียบร้อยครับ บทแรก ผมพยายามจะแบ่งเนื้อหาให้ต่อบทไม่เยอะเกินไป จะได้เข้าใจไปทีละเรื่องสองเรื่อง ถ้าใครไม่เข้าใจตรงไหน สามารถสอบถามเข้ามาใน Page https://www.facebook.com/tutortongpage ได้เลยครับ
ส่วนถ้าใครสนใจเรียนเขียนโปรแกรม ภาษา C , C++ , Python หรืออื่นๆ ทั้งแบบออนไลน์คลิป และ ออนไลน์สด จะเรียนพื้นฐาน หรือ ติวสอบ สามารถสอบถามเข้ามาใน Page ได้เช่นกันครับ
เขียนโปรแกรม ไม่ยาก ถ้าเข้าใจหลักการทำงาน !