SlideShare a Scribd company logo
1 of 35
พอยน์เตอร์  (Pointer)
Pointer ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Pointer
[object Object],Pointer  กับ หน่วยความจำ Int  a,b,c ; char  ch; a = 10; b = 20; c = 30 ch = ‘x’ Value 10 20 30 x variable a b c d Value FFF4 FFF2 FFF0 FFEF
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],การประกาศ ตัวแปรแบบ พอยน์เตอร์
[object Object],[object Object],[object Object],[object Object],ตัวดำเนินการสำหรับ พอยน์เตอร์
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],การใช้ตัวแปร พอยน์เตอร์
[object Object],[object Object],[object Object],การใช้ตัวแปร พอยน์เตอร์
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],การใช้ตัวแปร พอยน์เตอร์
สัญลักษณ์ที่ใช้กับพอยน์เตอร์ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
สัญลักษณ์ที่ใช้กับพอยน์เตอร์  ( ต่อ ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],50000 numPtr 6 num 6 num numPtr กำหนดให้  numPtr  ชี้ไปที่  num 50000 40000
สัญลักษณ์ที่ใช้กับพอยน์เตอร์  ( ต่อ ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 num numPtr 20
การใช้ตัวแปร พอยน์เตอร์ Int x = 100;  Int *px = &x; float y = 11.25; float *py; py = &y * ตัวแปรพอยน์เตอร์จะเก็บค่าของหน่วยความจำ Memory Address Memory Variable 0x0012FF48 100 X 0x0012FF4c 0x0012FF50 11.25 y 0x0012FF54 0x0012FF58 0x0012FF5C 0x0012FF48 px 0x0012FF60 0x0012FF64 0x0012FF68 0x0012FF50 py 0x0012FF6C …… .
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3.5 8.6 2.5 a p 5.6 b q *p = 2.5 *q = 5.6 a = 3.5 b = 8.6 ผลลัพธ์
การเรียกใช้แบบ  Call-by-Reference ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],5 25 25 5 number main squareByValue n
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],25 nPtr 5 number main squareByReference
การใช้ตัวดำเนินทางคณิตศาสตร์กับพอยน์เตอร์ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ตัวอย่างการเลื่อนพอยน์เตอร์ int v[5]; int *vPtr; vptr =  v ; //or vPtr =  &v[0] ; vPtr = vPtr + 2;
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Enter text to reverse:  Coe eoC '' 'e' 'o' 'C' msg[3] msg[2] msg[1] msg[0] ... msg[9] ptr
การใช้คำสั่ง  cout  กับ  char *  และ อารเรย์ของ  char ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Somchai Somchai chai
ความสัมพันธ์ระหว่างอาร์เรย์กับพอยน์เตอร์ ,[object Object],[object Object]
ความสัมพันธ์ระหว่างอาร์เรย์กับพอยน์เตอร์   ( ต่อ ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],bPtr[0] = 2 bPtr[1] = 7 b[1] = 7 b[3] = 10 10 4 b[3] 5 b[2] 7 b[1] 2 b[0] 6 b[4] bP tr
การจองหน่วยความจำ  (Memory Allocation) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
การจองหน่วยความจำ  ( ต่อ ) ,[object Object],[object Object],[object Object],[object Object]
การจองหน่วยความจำแบบหนึ่งบล็อก ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ptr
การจองหน่วยความจำเพื่อใช้งานเป็นอาร์เรย์ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],10 nums
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
สตริง  (String) ,[object Object],[object Object],[object Object],[object Object]
สตริงแบบที่ใช้อาร์เรย์ของ  char ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
สตริงแบบที่ใช้พอยน์เตอร์ชนิด  char * ,[object Object],[object Object],[object Object],หน่วยความจำชั่วคราว
สตริงแบบที่ใช้พอยน์เตอร์ชนิด  char * ( ต่อ ) ,[object Object],[object Object],[object Object],[object Object]
อาร์เรย์ของพอยน์เตอร์ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

การวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมการวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมguestc3a629f6
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)tumetr
 
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์Theeravaj Tum
 
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม BoOm mm
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเทวัญ ภูพานทอง
 
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5palmyZommanow
 
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5สิรินยา ปาโจด
 
คำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมคำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมParn Nichakorn
 

What's hot (18)

3 instruction design
3 instruction design3 instruction design
3 instruction design
 
การวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมการวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึม
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชันโปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
 
power point.
power point.power point.
power point.
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)
 
Lesson4
Lesson4Lesson4
Lesson4
 
7 2โครงสร้าง
7 2โครงสร้าง7 2โครงสร้าง
7 2โครงสร้าง
 
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์
 
03 input math
03 input math03 input math
03 input math
 
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม
 
Lesson5
Lesson5Lesson5
Lesson5
 
Lesson3
Lesson3Lesson3
Lesson3
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
 
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
 
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
 
Python101
Python101Python101
Python101
 
คำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมคำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรม
 
Presenter
PresenterPresenter
Presenter
 

Similar to 7 pointer day10

บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงNaphamas
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซีboky_peaw
 
หน่วยที่1 พอร์ทioครบ
หน่วยที่1 พอร์ทioครบหน่วยที่1 พอร์ทioครบ
หน่วยที่1 พอร์ทioครบSaksit Klawkla
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]Khon Kaen University
 
2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูลteedee111
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1Little Tukta Lita
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Mook Prapasson
 
Chapter6 ตัวแปร โอเปอเรเตอร์
Chapter6 ตัวแปร โอเปอเรเตอร์Chapter6 ตัวแปร โอเปอเรเตอร์
Chapter6 ตัวแปร โอเปอเรเตอร์Siriyakorn Bk
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1prapassonmook
 

Similar to 7 pointer day10 (20)

3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซี
 
Chapter 02 Flowchart
Chapter 02 FlowchartChapter 02 Flowchart
Chapter 02 Flowchart
 
Tec4
Tec4Tec4
Tec4
 
12
1212
12
 
หน่วยที่1 พอร์ทioครบ
หน่วยที่1 พอร์ทioครบหน่วยที่1 พอร์ทioครบ
หน่วยที่1 พอร์ทioครบ
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
 
ตัวแปรกับชนิดของข้อมูล
ตัวแปรกับชนิดของข้อมูลตัวแปรกับชนิดของข้อมูล
ตัวแปรกับชนิดของข้อมูล
 
2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล
 
C slide
C slideC slide
C slide
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Chapter6 ตัวแปร โอเปอเรเตอร์
Chapter6 ตัวแปร โอเปอเรเตอร์Chapter6 ตัวแปร โอเปอเรเตอร์
Chapter6 ตัวแปร โอเปอเรเตอร์
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 

7 pointer day10