CC Lab
หลักสูตรการเขียนโปรแกรมภาษา C
ความคืบหน้าเก็บไว้ในเบราว์เซอร์นี้โหมดผู้เรียน
บทเรียน / พอยน์เตอร์ / 07

ความสัมพันธ์ระหว่าง pointer กับ array

เข้าใจความสัมพันธ์ระหว่าง pointer กับ arrayและนำไปใช้กับโปรแกรม C ได้

แนวคิดและการทดลองประมาณ 12 นาที
บทที่ 7 จาก 9
แนวคิดหลัก

ลองสังเกตตัวอย่าง แล้วค่อยเปลี่ยนค่าเพื่อดูว่าแนวคิดเรื่องความสัมพันธ์ระหว่าง pointer กับ arrayส่งผลต่อโปรแกรมอย่างไร

ลงมือสำรวจ

เปลี่ยนค่าและสังเกตผล
Pointer Visualizer

ที่อยู่เป็นสัญลักษณ์เพื่อการเรียนรู้ ไม่ใช่ address จริงจาก runtime

int *p = &a; p → 0x1000

p เก็บ 0x1000; *p อ่านค่าปัจจุบัน 12

อ่านโค้ดตัวอย่าง

int value = 42;
int *ptr = &value;
printf("value = %d\n", *ptr);
printf("address = %p\n", (void *)ptr);

ทำนายผลก่อนทดลอง

Prediction

ถ้า p = &value แล้ว *p หมายถึงอะไร?

main.c · เขียน swap(int *a, int *b) เพื่อสลับค่าจำนวนเต็มสองตัว
กำลังโหลดตัวแก้ไขโค้ด…

บันทึกโค้ดไว้ใน localStorage ของเบราว์เซอร์นี้ หากเปิดใช้งานการรัน โค้ดและ stdin จะถูกส่งไปยัง Wandbox

จบบทเรียน

Draft lesson. Progress is not recorded.
กลับไปยังโมดูลบทถัดไป