ปฏิบัติการครั้งที่ 10 pointer. หน่วยความจำ หน่วยความจำนั้นเสมือนเป็นช่องว่างไว้เก็บ ของที่มีหมายเลขประจำติดไว้ที่แต่ละช่อง เพื่อใช้ในการระบุตำแหน่งของช่องได้

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ชนิดของข้อมูลในโปรแกรม Interactive C
Advertisements

Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
Arrays.
ครั้งที่ 9 Function(ต่อ).
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ตัวแปรประเภทตัวชี้ (Pointer)
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
Introduction to C Programming
การแสดงผล และการรับข้อมูล การแสดงผล และการรับข้อมูล.
Department of Computer Business
การรับค่าและแสดงผล.
พอยน์เตอร์ (Pointer) Chapter Introduction to Programming
ข้อมูลชนิดโครงสร้าง (Structure Data)
ตัวแปรชุด (Array) Chapter Introduction to Programming
บทที่ 11 การเขียนโปรแกรมโดยใช้ข้อมูลชนิดพอยท์เตอร์
Principles of Programming
Data Type part.III.
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
Structure Programming
Array.
ชนิดของข้อมูลและตัวดำเนินการ
Week 6 ประกาศค่าตัวแปร.
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
ตัวชี้ P O I N T E R Created By Tasanawan Soonklang
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
ตัวแปรชุด.
Lecture no. 6 Structure & Union
การรับข้อมูลเบื้องต้นโดยใช้ฟังก์ชั่น scanf
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
บทที่ 12 Structure and union Kairoek choeychuen
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
C Programming Lecture no. 9 Structure.
C Programming Lecture no. 6: Function.
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
หน่วยที่ 14 การเขียนโปรแกรมย่อย
อาร์เรย์และข้อความสตริง
อาร์เรย์ (Array).
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
ตัวแปรกับชนิดของข้อมูล
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
บทที่ 5 ฟังก์ชันกับอาร์เรย์ Function & Array
การรับและพิมพ์ข้อมูลเบื้องต้น
ตัวแปรกับชนิดของข้อมูล
Week 2 Variables.
การประมวลผลสายอักขระ
Computer Programming for Engineers
โปรแกรมประยุกต์อื่นๆ
ความหมาย การประกาศ และการใช้
ตัวแปรชุด Arrays.
Call by reference.
ลิงค์ลิสต์ (Linked List)
คำสั่งเกี่ยวกับการรับ และแสดงผล
Output of C.
บทที่ 9 พอยเตอร์. สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น พอยเตอร์ (Pointer) พอยเตอร์คือต้นฉบับของชนิดข้อมูล เป็นชนิด ข้อมูลที่สร้างจากข้อมูลมาตรฐานชนิดหนึ่ง.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
1. Global variable คือ ตัวแปรที่กำหนดหรือประกาศไว้นอกฟังก์ชันใด ๆ ทุกฟังก์ชัน สามารถนำตัวแปรประเภท Global ไปใช้ได้ทุกฟังก์ชัน.
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
ตัวแปร และชนิดข้อมูล.
การเขียนโปรแกรม (ภาษาซี)
Programming assignments ชื่องาน (subject) : program เขียนด้วยภาษา C หรือ C++ มีทั้งหมด 7 ข้อ กำหนดส่ง 29 กรกฎาคม 2554.
Variable, Constant. Variable คือชื่อที่ตั้งขึ้นมาเพื่อจองพื้นที่ใน หน่วยความจำสำหรับ พักข้อมูล.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
บทที่ 11 พอยเตอร์ C Programming C-Programming. จันทร์ดารา Surin Campus : มีอะไรบ้างในบทนี้  ตัวแปรพอยเตอร์ (Pointer) เป็นตัว แปรที่แปลกและแตกต่างไปจากตัว.
ตัวแปรชนิดพอยเตอร์ (Pointer)
ใบสำเนางานนำเสนอ:

ปฏิบัติการครั้งที่ 10 pointer

หน่วยความจำ หน่วยความจำนั้นเสมือนเป็นช่องว่างไว้เก็บ ของที่มีหมายเลขประจำติดไว้ที่แต่ละช่อง เพื่อใช้ในการระบุตำแหน่งของช่องได้ แต่ละช่องจะเก็บข้อมูลได้ 1 ไบต์ A001A002A003A004 B001B002B003B004

แอดเดรสกับหน่วยความจำ หมายเลขประจำแต่ละช่องของหน่วยความจำ เราเรียกว่าตำแหน่งของหน่วยความจำ หรือ แอดเดรส (Address) การเก็บค่าในหน่วยความจำ จึงต้องระบุด้วย ว่าต้องการเก็บค่าไว้ที่แอดเดรสใด ในการเขียนโปรแกรมและต้องการเก็บค่าไว้ ในหน่วยความจำ เราจะใช้การอ้างถึง หน่วยความจำโดยผ่านชื่อตัวแปรแทนการ อ้างหมายเลขแอดเดรสโดยตรง

การประกาศตัวแปร เมื่อมีการประกาศตัวแปรจะมีการจอง หน่วยความจำไว้ให้ ดังนั้นเราจึงจะอ้างถึง หน่วยความจำที่เราจองไว้เก็บข้อมูลผ่านด้วย ชื่อตัวแปร int x; FF01 FF02 FF03 FF04 ชนิดข้อมูล int มีการจองพื้นที่ 2 ไบต์

การขอดูแอดเดรสของตัวแปร แต่ถ้าเราอยากทราบว่าตัวแปรได้จอง หน่วยความจำที่เท่าใด สามารถทำได้ โดยใช้ ตัวดำเนินการ & void main(){ int x = 3; printf(“value is %d\n”,x); printf(“address is %x\n”,&x); } void main(){ int x = 3; printf(“value is %d\n”,x); printf(“address is %x\n”,&x); }

พอยน์เตอร์ (pointer) คือชนิดข้อมูลหนึ่งที่เก็บค่าแอดเดรสของตัว แปรอื่น ดังนั้นพอยน์เตอร์ไม่ว่าจะชี้ไปที่ตัวแปรใดก็จะ ใช้พื้นที่ในการเก็บเท่ากันเพราะสิ่งที่พอยน์ เตอร์เก็บคือค่าแอดเดรสของตัวแปรอื่น int x; int *p = &x; int x; int *p = &x; FF01 FF02 FF03 FF04 x p FF01

การกำหนดให้ตัวแปรเป็นชนิด พอยน์เตอร์ รูปแบบการกำหนดให้ตัวแปรเป็นชนิดพอยน์ เตอร์จะต้องระบุด้วยว่าสามารถชี้ไปหาตัวแปร ประเภทใด ชนิดข้อมูลที่อ้างถึง * ชื่อตัวชี้ ; int *a ; // กำหนดให้ a เป็นตัวชี้ชนิดข้อมูล int char *x,b ;// กำหนดให้ x เป็นตัวชี้ชนิดข้อมูล char // แต่ b เป็นตัวแปรชนิด char

การใช้เครื่องหมาย & int x = 17; int *pt_int; pt_int = &x; float salary = ; float *pt_float; pt_float = &salary; char letter = ‘w’; char *pt_char; pt_char = &letter; pt_intx pt_floatsalary pt_charletter 0260‘w’

ตัวอย่างโปรแกรมที่ใช้ เครื่องหมาย & #include int x = 17; float salary = ; char letter = ‘w’; int *pt_int; float *pt_float; char *pt_char; main() { clrscr(); pt_int = &x; pt_float = &salary; pt_char = &letter; printf(“Address of variable x = %p\n”,pt_int); printf(“Address of variable salary = %p\n”,pt_float); printf(“Address of variable letter = %p\n”,pt_char); } Address of variable x = 00AA Address of variable salary = 00AC Address of variable letter = 00BC

ตัวอย่างโปรแกรมที่ใช้ เครื่องหมาย & #include int x = 17; float salary = ; char letter = ‘w’; int *pt_int; float *pt_float; char *pt_char; main() { clrscr(); pt_int = &x; pt_float = &salary; pt_char = &letter; printf(“Address of variable x = %p\n”,pt_int); printf(“Address of variable salary = %p\n”,pt_float); printf(“Address of variable letter = %p\n”,pt_char); } Address of variable x = 00AA Address of variable salary = 00AC Address of variable letter = 00BC

เครื่องหมาย * (Indirect Operator) เครื่องหมาย * ใช้เพื่อหาค่าข้อมูลจาก แอดเดรสที่ตัวแปรพอยเตอร์ชี้อยู่ ดังนั้น การใช้เครื่องหมาย * หน้าตัวแปร พอยน์เตอร์ย่อมหมายถึงค่าข้อมูลของตัวแปร ที่พอยน์เตอร์ชี้นั่นเอง

ความหมายของ indirect Operator เมื่อมีการเรียกใช้ * ชื่อตัวแปรพอยน์เตอร์ จะ เข้าไปดูที่ตัวแปรพอยน์เตอร์ว่าเก็บค่า ตำแหน่งใด แล้วจึงเข้าไปดึงค่าที่เก็บใน ตำแหน่งนั้นออกมาดำเนินการ 0A30 5 num A30 p_num int num = 5; int *p_num; p_num = # printf(“%d”,*p_num); *p_num