Call by reference.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ครั้งที่ 9 Function(ต่อ).
Advertisements

โครงสร้างโปรแกรมภาษา C
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
ข้อมูลชนิดสตริง String บทที่ 8
พอยน์เตอร์ (Pointer) Chapter Introduction to Programming
ข้อมูลชนิดโครงสร้าง (Structure Data)
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
บทที่ 11 การเขียนโปรแกรมโดยใช้ข้อมูลชนิดพอยท์เตอร์
Control structure part II
Functional programming part II
Data Type part.III.
ฟังก์ชัน (Function).
Structure Programming
Structure Programming
LAB # 4.
รับและแสดงผลข้อมูล.
ตัวชี้ P O I N T E R Created By Tasanawan Soonklang
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
โปรแกรมย่อย : Pascal Procedure
คำสั่งควบคุมการทำงาน
ฟังก์ชัน (Function).
ตัวแปรชุด.
การรับข้อมูลเบื้องต้นโดยใช้ฟังก์ชั่น scanf
Week4 Data types, Variables, Operators and Input/output (ต่อ)
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
C Programming Lecture no. 6: Function.
Programming With C Data Input & Output.
ตัวแปรชุดของอักขระ String
หน่วยที่ 1 พื้นฐานภาษา C
หน่วยที่ 14 การเขียนโปรแกรมย่อย
หน่วยที่ 8 อาร์กิวเมนต์ของ main
บทที่ 5 ฟังก์ชันของ PHP การประกาศฟังก์ชัน { Statement; }
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงานลักษณะของฟังก์ชั่นมีความรอบรัดสั้นกว่าแบบวนลูป.
การเขียนโปรแกรมภาษาซี
ตัวแปรกับชนิดของข้อมูล
การสร้างฟังก์ชั่นเพื่อพัฒนาโปรแกรม Interactive C
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ปฏิบัติการครั้งที่ 10 pointer. หน่วยความจำ หน่วยความจำนั้นเสมือนเป็นช่องว่างไว้เก็บ ของที่มีหมายเลขประจำติดไว้ที่แต่ละช่อง เพื่อใช้ในการระบุตำแหน่งของช่องได้
บทที่ 5 ฟังก์ชันกับอาร์เรย์ Function & Array
C language W.lilakiatsakun.
Week 2 Variables.
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
การประมวลผลสายอักขระ
Computer Programming for Engineers
ความหมาย การประกาศ และการใช้
1 Special Operators Special Operators ตัวดำเนินการพิเศษ Increment and decrement operators Conditional Operator.
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
Recursion การเรียกซ้ำ
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
คำสั่งรับค่า และ แสดงผลค่า. คำสั่งรับ - แสดงผล 1. printf( ) เป็น ฟังก์ชันที่ใช้ในการ แสดงผลข้อมูลที่อยู่ในตัว แปร ค่าคงที่ นิพจน์ออกมา ทางจอภาพ.
คำสั่งเกี่ยวกับการรับ และแสดงผล
Output of C.
บทที่ 9 พอยเตอร์. สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น พอยเตอร์ (Pointer) พอยเตอร์คือต้นฉบับของชนิดข้อมูล เป็นชนิด ข้อมูลที่สร้างจากข้อมูลมาตรฐานชนิดหนึ่ง.
ตัวแปรและชนิดของข้อมูล (Variables & Data Types)
โครงสร้างข้อมูลแบบลิงก์ลิสต์
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
Function ธนวัฒน์ แซ่ เอียบ. What is a function ฟังก์ชันในภาษา C เป็นโปรแกรมที่ถูกออกแบบมาเพื่อ ใช้แก้ปัญหางานใดงานหนึ่งโดยเฉพาะ ฟังก์ชันจะเปลี่ยน input.
1 สตริง (String) การประกาศค่าตัวแปรสตริง การกำหนดค่าสตริง การอ้างอิงตัวอักษรแต่ละตัวในสตริง ฟังก์ชั่นที่ใช้ในการจัดการสตริง ฟังก์ชั่นในการเปลี่ยนรูปแบบของสตริง.
Function. วัตถุประสงค์การเรียนรู้ ให้รู้จักว่าฟังก์ชันคืออะไร ให้รู้จักว่าเราสร้างฟังก์ชันเพื่อจุดประสงค์ใด หรือ เพื่อประโยชน์ใด ให้รู้จักประเภทของฟังก์ชัน.
Programming assignments ชื่องาน (subject) : program เขียนด้วยภาษา C หรือ C++ มีทั้งหมด 7 ข้อ กำหนดส่ง 29 กรกฎาคม 2554.
บทที่ 5 โปรแกรมย่อย.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
บทที่ 11 พอยเตอร์ C Programming C-Programming. จันทร์ดารา Surin Campus : มีอะไรบ้างในบทนี้  ตัวแปรพอยเตอร์ (Pointer) เป็นตัว แปรที่แปลกและแตกต่างไปจากตัว.
Chapter 9 ตัวชี้ pointer.
Chapter 5: Function.
ใบสำเนางานนำเสนอ:

Call by reference

Call by reference ค่าของอาร์กิวเมนต์จะมีชนิดข้อมูลเป็นพอยน์เตอร์(pointer) หรือตำแหน่งในหน่วยความจำ รูปแบบการกำหนดฟังก์ชัน จะคล้ายกับการสร้างฟังก์ชันที่มีการเรียกใช้แบบ Call by value แต่จะต่างกันที่ ชนิดของพารามิเตอร์ และ อาร์กิวเมนต์ จะต้องเป็นพอยน์เตอร์ ฟังก์ชันลักษณะนี้ ใช้ในกรณีที่มีการเปลี่ยนแปลงค่าข้อมูล มากกว่า 1 ค่า ตัวอย่าง เช่น การเรียกใช้ฟังก์ชัน scanf()

ตัวอย่าง ๑ จงเขียนโปรแกรมทำการเลื่อนค่าของตัวแปรเดี่ยวอักขระ 3 ตัว โดยใช้ พอยน์เตอร์ void main () { char a=‘x’, b=‘y’, c=‘z’, *pa=&a, *pb=&b, *pc=&c, temp; printf(“before doing the left-shift operation…”); printf(“a=%c\tb=%c\tc=%c\n”, a, b, c); /*x y z are printed*/ temp = *pa; *pa = *pb; *pb = *pc; *pc = temp; printf(“after that..”); printf(“a=%c\tb=%c\tc=%c\n”, a, b,c); /*y z x are printed*/ }

ตัวอย่าง (ต่อ) ปรับให้เป็นฟังก์ชัน void shift (char *pa, char *pb, char *pc) { char temp; temp = *pa; *pa = *pb; *pb = *pc; *pc = temp; } void main () { char a=‘x’, b=‘y’, c=‘z’; printf(“before doing the left-shift operation…”); printf(“a=%c\tb=%c\tc=%c\n”, a, b, c); /*x y z are printed*/ shift (&a, &b, &c); /*call shift with address of a, b and c*/ printf(“after that..”); printf(“a=%c\tb=%c\tc=%c\n”, a, b,c); /*y z x are printed*/

ตัวอย่าง ๒ void swap (int *, int *); void main () { int a=8, b=3; printf(“before calling the swap function…”); printf(“a=%d\tb=%d\n”, a, b); /*8 and 3 are printed*/ swap(&a, &b); /*call swap with address of a and b*/ printf(“after the swap called..”); printf(“a=%d\tb=%d\n”, a, b); /*3 and 8 are printed*/ } void swap (int *x, int *y) { int tmp; tmp = *x; *x =*y; *y= tmp;

ตัวอย่าง 3 โปรแกรมต่อไปนี้ทำการเรียงลำดับอักขระ 3 ตัว void swap (int *x, int *y) { int tmp; tmp = *x; *x =*y; *y= tmp; } // Function to order 3 character variables void order (char *cp1, char *cp2, char *cp3) { if (*cp1 > *cp2) /*First get the larger of cp1 and cp2 into cp2*/ swap(cp1, cp2); if (*cp2 > *cp3) /*Next get the largest of the three into cp3*/ swap(cp2, cp3); if (*cp1 > *cp2) /*Now get the second largest into cp2*/ void main () { char c1, c2, c3; printf(“Sort 3 characters using pointers.\n”); printf(“Enter any 3 characters, or incompleted input to quit.\n”); while (scanf(“%c%c%c”, &c1, &c2, &c3) == 3) { putchar(‘>’); order(&c1, &c2, &c3); printf(“In ascending order : %c %c %c\n”, c1, c2, c3);