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

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

LAB # 6 Pointer. 2 Memory 65000-65001 65002 x y ….. ตัวแปร / พอยน์เตอร์ (Pointer) ตัวแปรคือ พื้นที่ หน่วยความจำที่ใช้เก็บข้อมูล พื้นที่ หน่วยความจำ มีชื่อตัวแปรกำกับอยู่

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


งานนำเสนอเรื่อง: "LAB # 6 Pointer. 2 Memory 65000-65001 65002 x y ….. ตัวแปร / พอยน์เตอร์ (Pointer) ตัวแปรคือ พื้นที่ หน่วยความจำที่ใช้เก็บข้อมูล พื้นที่ หน่วยความจำ มีชื่อตัวแปรกำกับอยู่"— ใบสำเนางานนำเสนอ:

1 LAB # 6 Pointer

2 2 Memory x y ….. ตัวแปร / พอยน์เตอร์ (Pointer) ตัวแปรคือ พื้นที่ หน่วยความจำที่ใช้เก็บข้อมูล พื้นที่ หน่วยความจำ มีชื่อตัวแปรกำกับอยู่ สามารถเปลี่ยนแปลงแก้ไขค่าข้อมูลได้ผ่านชื่อตัวแปร พื้นที่ หน่วยความจำถูกสร้างโดยอัตโนมัติเมื่อมีคำสั่ง ประกาศตัวแปร เช่น float a; ถูกทำลายอัตโนมัติเมื่อไม่มีใช้งาน ตัวอย่าง 30 a main(){ int x; char y; } x = 30; y = ‘a’;

3 3 Memory x y ….. ตัวแปร / พอยน์เตอร์ (Pointer) Pointer คือตัวแปรชนิดหนึ่ง เมื่อประกาศใช้งานแล้วจะมีพื้นที่ หน่วยความจำ (2 bytes) เพื่อ เก็บตำแหน่ง หน่วยความจำอื่น เราสามารถใช้ Pointer เพื่อแก้ไขค่าข้อมูลใน หน่วยความจำอื่นได้ พื้นที่ หน่วยความจำ ถูกสร้างโดยอัตโนมัติ (2 bytes) เมื่อมีการใช้ คำสั่ง float * p; ถูกทำลายอัตโนมัติเมื่อไม่มีใช้งาน ตัวอย่าง main(){ int x; int *y; } x = 30; y = &x; *y = 40; 40

4 4 ตัวอย่าง I main(){ int x; int y; int *p; } x=y= 50; p x y p x y p = &x; p x y *p = 100; *p = new int; p x y *p = x;

5 5 ตัวอย่าง II main(){ } p int *p; *p = new int; *p = 50; cout << *p; delete p; *p = new int; *p = 100; p

6 6 /*Program : pointer1.cpp Process : disply address value of variable */ #include void main() { int number1=250; //integer variable float number2= ; //float variable double number3= ; //double variable int* int_pointer; //pointer variable float* float_pointer; //pointer variable double* doub_pointer; //pointer variable char* char_pointer; //pointer variable //display address by & operator cout<< "Display address of variable by & operator"<

7 7 /*Program : pointer2.cpp Process : disply void pointer type */ #include void main() { int number1=250; //integer variable float number2= ; //float variable double number3= ; //double variable void* many_ptr; //pointer of many type of variable //display constant at address in pointer variable cout<< "Display address from 'void* many_ptr' pointer"<

8 8 /*Program : pointer3.cpp Process : disply relation array and pointer */ #include void main() { int number[5]= {10,20,30,40,50}; //integer variable int i; int* num_ptr; num_ptr = &number[0]; //same as write this => num_ptr = &number[0] //display by index cout<<"Display constant by index of array"<

9 9 /*Program : pointer4.cpp Process : passed argument by reference */ #include //prototype function void CelToFah(float& degree); void main() { float celsius; cout<< "Enter Celsius degree for convert to Fahenhiet : "; cin>>celsius; //call function and passed argument by reference CelToFah(celsius); //value of celsius will return and changed cout<< "Result = "<>celsius; //call function and passed argument by address of celsius CelToFah(&celsius); //value of celsius will return and changed cout<< "Result = "<

10 10 #include void exchange (int x, int y); void main () { int a = 5; int b = 9; cout << "This program attempts to exchange two values." << endl; cout << "Values before the exchange:" << endl; cout << "a= " << a << " b= " << b << endl; exchange(a, b); // code that calls the function cout << "Values after the exchange:" << endl; cout << "a= " << a << " b= " << b << endl; } // function for passing by value void exchange (int x, int y) { int temp; temp = x; x = y; y = temp; } // end exchange #include void exchange (int * x, int * y); void main () { int a = 5; int b = 9; cout << "This program exchanges 2 values." << endl; cout << "Values before the exchange:" << endl; cout << "a= " << a << " b= " << b << endl; exchange(&a, &b); // code that calls the function cout << "Values after the exchange:" << endl; cout << "a= " << a << " b= " << b << endl; } // function for passing by address (or pointers) void exchange (int * x, int * y) { int temp; temp = *x; *x = *y; *y = temp; return; // Optional for void functions } // end exchange #include void exchange (int& x, int& y); void main () { int a = 5; int b = 9; cout << "This program exchanges 2 values." << endl; cout << "Values before the exchange:" << endl; cout << "a= " << a << " b= " << b << endl; exchange(a, b); // code that calls the function cout << "Values after the exchange:" << endl; cout << "a= " << a << " b= " << b << endl; } // function for passing by reference void exchange (int& x, int& y) { int temp; temp = x; x = y; y = temp; return; // Optional for void functions } // end exchange ให้นักศึกษา ศึกษา ตัวอย่างรูปแบบการ ส่งผ่านค่าแบบ Pass by Pointer Pass by Pointer ให้นักศึกษา ศึกษา ตัวอย่างรูปแบบการ ส่งผ่านค่าแบบ Pass by Reference Pass by Reference ให้นักศึกษา ศึกษา ตัวอย่างรูปแบบการ ส่งผ่านค่าแบบ Pass by Value Pass by Value

11 11 /* pointers.cpp, demonstrate use of pointers */ #include void main() { int x, *p1, *p2; x = 1; p1 = new int; *p1 = 5; p2 = new int; *p2 = 3; cout << "p1 is " << *p1 << "\np2 is " << *p2 << "\nx is " << x << endl; x = *p2; p1 = &x; cout << "p1 is " << *p1 << "\np2 is " << *p2 << "\nx is " << x << endl; } ให้นักศึกษา ศึกษาตัวอย่างและการกำหนดตัวแปร Pointer คำสั่ง new และทำความเข้าใจ

12 จงวาดรูปแสดงผลลัพธ์ที่ได้จากการใช้คำสั่ง ของ pointer ข้างล่างนี้ main() { int x,y,z; int *p; p = &x; *p = 1; p =&y; *p = 3; p=&z; *p = y; } unkn own x y z p x y z p x y z p x y z p Lab6-11.cpp

13 13 main() { int *p; p = new int; *p = 30; p=new int; *p = 40; p=new int; *p = 50; delete p; } unkn own p Lab6-12.cpp 1.2 จงวาดรูปแสดงผลลัพธ์ที่ได้จากการใช้คำสั่ง ของ pointer ข้างล่างนี้

14 14 #include void main() { int x, y, *p, *q; p = new int; *p = 7; x = *p + 2; y = *p; q = new int; *q = *p / 2; *q = *q * 4; cout << x << y << *p << *q; } 1.3 จงหาผลลัพธ์จากโปรแกรมต่อไปนี้ Lab6-13.cpp

15 15 2. จงเขียนโปรแกรมเพื่อทำการหาค่าเลขยกกำลังโดยที่ ให้กรอกเลขยกกำลังและกรอกเลขชี้กำลังโดยให้ เขียนฟังก์ชันชื่อ power(int x,int y) เพื่อคำนวณค่า ของ x y โดยในโปรแกรมหลักรับค่าของ x และ y โดยมีการส่งค่าแบบ Pass by Reference และ Pass by Address Lab6-2.cpp Enter X : 3 Enter Y : 4 Value of 3 power 4 = 81 ตัวอย่าง Output

16 16 3. จงเขียนโปรแกรมเพื่อรับ string แล้ว กลับ string จาก ซ้ายไปขวา ดังตัวอย่าง Example 1 Enter string = Hello Reverse string = olleH Example 2 Enter string = live Reverse string = evil Example 3 Enter string = abcdef Reverse string = fedcba Example 4 Enter string = fedcba Reverse string = abcdef Example 5 Enter string = stand Reverse string = dnats Example 6 Enter string = than Reverse string = nath หมายเหตุ สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์ Lab6-3.cpp


ดาวน์โหลด ppt LAB # 6 Pointer. 2 Memory 65000-65001 65002 x y ….. ตัวแปร / พอยน์เตอร์ (Pointer) ตัวแปรคือ พื้นที่ หน่วยความจำที่ใช้เก็บข้อมูล พื้นที่ หน่วยความจำ มีชื่อตัวแปรกำกับอยู่

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


Ads by Google