เหมือน Medium เกี่ยวกับ C ที่ผ่านๆมาครับ 555 Medium นี้ผมเขียนไว้เผื่อลืมอีกเหมือนเดิม


แนวคิดคือเราสามารถนำ pointer มาใช้ช่วยในการอ้างตำแหน่ง array ได้ และสามารถทำให้เราไปเปลี่ยนค่าที่เก็บในแอดเดรสนั้นๆในฟังค์ชันได้

ผมสร้าง array 1 มิติขึ้นมาก่อนโดยเก็บตัวแปร int ไว้มีเลข 3 ตัวคือ 1,2,3 ตามลำดับ แล้วก็สั่งให้มัน printf เลขที่มีออกมาก่อน

ทีนี้ก็ประกาศฟังค์ชันที่ไม่คืนค่าออกมา (เพราะใช้ pointer ชี้แล้วเปลี่ยนในฟังค์ชันเลย) รับแอดเดรสของ array แล้วก็ความยาวของอาร์เรย์ จากนั้นก็ตั้งลูปเพื่อเปลี่ยนค่าในแอดเดรส

นึกภาพตามนะครับ พอยเตอร์จะชี้อินเด็กซ์แรกของอาร์เรย์จากนั้นเมื่อเราเลื่อนไปเรื่อยๆ(โดยการบวก i เข้าไปเรื่อยๆ) พอยเตอร์จะเลื่อนไปชี้ที่อินเด็กซ์ถัดไปเรื่อยๆ

ทีนี้ผมก็เรียกใช้ฟังค์ชันเลยครับsizeof(array)/sizeof(array[0]) => ตัวนี้คือความยาวของอาร์เรย์ มาจากขนาดของอาร์เรย์ทั้งหมดหารกับขนาดของสมาชิก 1 ตัว

พอเรียกใช้ฟังค์ชันผมเลยตั้งลูปไว้เพื่อเช็คซักหน่อยว่าได้ค่าตามที่ต้องการมั้ย

ผลที่ได้

Medium ที่ 12
ปีนี้ผมตั้งใจว่าจะเขียน Medium ให้ได้เดือนละ 4–5 Medium ครับ สิ้นปีก็จะมี 52 Medium เท่ากับจำนวนสัปดาห์ใน 1 ปีพอดี ไม่รู้จะทำได้มั้ย แต่ก็ถือเป็น Passion เล็กๆน้อยๆของผมครับ 5555
ผมเขียนบทความหลายแนวแล้วแต่ว่าอยากเขียนยังไง ถ้าอยากให้กำลังใจช่วยกด Clap ให้ซักที สองทีด้วยนะครับ :D
เจอกันบทความหน้าครับ