งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ความหมาย การประกาศ และการใช้

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ความหมาย การประกาศ และการใช้"— ใบสำเนางานนำเสนอ:

1 ความหมาย การประกาศ และการใช้
Pointer พอยน์เตอร์ ความหมาย การประกาศ และการใช้

2 พอยน์เตอร์ เป็นข้อมูลชนิดหนึ่ง ซึ่งหมายถึง ตำแหน่งหรือแอดเดรส ในหน่วยความจำ ใช้สำหรับเข้าถึงข้อมูลในหน่วยความจำโดยระบุตำแหน่งหรือแอดเดรสในหน่วยความจำ ค่าของข้อมูลชนิดนี้เป็นประเภท unsigned ขนาดของตัวแปรชนิดนี้จะขึ้นกับรูปแบบของหน่วยความจำ (memory model) 1 หน่วยข้อมูลชนิดนี้ หมายถึงขนาดของหน่วยความจำที่ใช้ในการบันทึกข้อมูลพื้นฐาน ซึ่งจะมีขนาดแตกต่างกันขึ้นกับชนิดข้อมูลพื้นฐานของตัวแปรพอยน์เตอร์

3 การประกาศ <ชนิดข้อมูล> * ตัวแปรพอยน์เตอร์; int i, j = 8, *p;
รูปแบบ <ชนิดข้อมูล> * ตัวแปรพอยน์เตอร์; <ชนิดข้อมูล> ตัวแปร, * ตัวแปรพอยน์เตอร์ = แอดเดรสของตัวแปร ; ตัวอย่าง int i, j = 8, *p; char c = ‘A’, *pa = &c; float x=1.5, *pf = &x; unsigned u = 32768; *pu = &u;

4 การกำหนดค่าตัวแปรพอยน์เตอร์
ค่าที่จะกำหนดให้กับตัวแปรพอยน์เตอร์ต้องเป็นแอดเดรสในหน่วยความจำที่เก็บข้อมูลซึ่งมีชนิดสอดคล้องกับที่ประกาศ ตัวอย่าง int i = 8, *p; i p p = 0; p = NULL; /* equivalent to p = 0 */ p = (int *) 1308; /* an absolute address in memory */ p = &i; 8 ? 8

5 ข้อมูลเกี่ยวกับตัวแปรพอยน์เตอร์
ค่าของตัวแปรพอยน์เตอร์ (เป็นแอดเดรสในหน่วยความจำ) ค่าข้อมูล ณ ตำแหน่งหรือแอดเดรสซึ่งเป็นค่าของตัวแปรพอยน์เตอร์ อ้างถึงหรือแสดงได้ รูปแบบ * ตัวแปรพอยน์เตอร์

6 ตัวอย่างการอ้างถึงหรือแสดงค่าตัวแปรพอยน์เตอร์
? x ? y ? p int x, y, *p; x = y = 10; p = &x; printf(“p = %u\t*p = %d\n”, p *p); *p = y + 18; printf(“x = %d\n”, x); p = &y; scanf(“%d”, p); 10 10 608 608 10 608 28 28 608 10

7 การประกาศตัวแปรและกำหนดค่าเริ่มต้น
แบบทดสอบความเข้าใจ การประกาศตัวแปรและกำหนดค่าเริ่มต้น int a=3, b=5, *p = &a, *q = &b, *r; double x; นิพจน์ นิพจน์เทียบเท่า ค่าของนิพจน์ p == &a p = a + 8 * * & p r = &x 8 * *p/*q + 8 *(r = &b) *= *p p == (&a) p = (a + 8) /* illegal */ ( * (&p) ) r = (&x) /* illegal */ (8 * (*p))/(*q)) *(r = &b) *= (*p)

8 <ชนิดข้อมูล> **ตัวแปร [= แอดเดรสของพอยน์เตอร์]
Pointer to pointer รูปแบบ <ชนิดข้อมูล> **ตัวแปร [= แอดเดรสของพอยน์เตอร์] int a, *pa = &a, **ppa = &pa; *pa = 8; /*equivalent to a = 8;*/ **ppa = *pa + 10; printf(“**ppa = %u\n”, **ppa); printf(“ *ppa = %u\n”, *ppa); printf(“ ppa = %u\n”, ppa); printf(“ pa = %u\n”, pa); printf(“*pa = %u\n”, *pa); pa ppa ? a 8 18 608

9 แบบฝึกหัด จงเขียนโปรแกรมทำการเลื่อนค่าของตัวแปรเดี่ยวอักขระ 3 ตัว โดยใช้ พอยน์เตอร์ จงเขียนโปรแกรมทำการ Zapping ข้อมูลที่ป้อน 1 บรรทัด โดยให้ตัด ช่องว่างออก และเปลี่ยนตัวอักษรแรกของคำที่ป้อนให้เป็นพิมพ์ใหญ่ เช่น ป้อนข้อมูลเป็น The final day is Sunday. ผลลัพธ์ที่ได้เป็น TheFinalDayIsSunday.


ดาวน์โหลด ppt ความหมาย การประกาศ และการใช้

งานนำเสนอที่คล้ายกัน


Ads by Google