Submit Search
(Big One) C Language - 02 ฟังก์ชันส่งผ่านสตริง
2 likes
660 views
Kittinan Noimanee
ซีรี่การใช้ภาษาC (2/14) : เพื่อให้คุณเข้าใจการนำภาษา C มาใช้ในการทำความเข้าใจเกี่ยวกับ String
Engineering
Related topics:
C Language
•
Basic Programming
Read more
1 of 21
Download now
Downloaded 101 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
More Related Content
PDF
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
Naphamas
PDF
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
Little Tukta Lita
PPTX
โครงสร้างแบบอาร์เรย์
waradakhantee
PPT
อาเรย์ (Array)
tumetr
PPT
Array 2
นายพิศณุ ท่าสอน
PPT
Array1
นายพิศณุ ท่าสอน
PPT
Chapter2
เกล็ดนที ไชยชนะ
PPTX
4
Kkae Rujira
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
Naphamas
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
Little Tukta Lita
โครงสร้างแบบอาร์เรย์
waradakhantee
อาเรย์ (Array)
tumetr
Array 2
นายพิศณุ ท่าสอน
Array1
นายพิศณุ ท่าสอน
Chapter2
เกล็ดนที ไชยชนะ
4
Kkae Rujira
What's hot
(19)
PPT
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
PPTX
บทที่ 5
Khim Piamprom
DOC
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
PDF
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
Areeya Onnom
PDF
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
DOC
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
Mook Sasivimon
PPTX
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
defeat overcome
PPT
08 arrays
a-num Sara
PPTX
..Arrays..
poohwapol
PDF
Java-Chapter 07 One Dimensional Arrays
Wongyos Keardsri
PDF
งานนำเสนอ1
prapassonmook
PPTX
งานนำเสนอ1
Ploy StopDark
PDF
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Naphamas
PDF
Java-Chapter 05 String Operations
Wongyos Keardsri
PDF
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
Mook Sasivimon
PDF
บทที่ 6 อาร์เรย์
Theeravaj Tum
PDF
Java-Chapter 10 Two Dimensional Arrays
Wongyos Keardsri
PDF
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
บทที่ 5
Khim Piamprom
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
ตัวแปรชุดและตัวแปรอักขระ PPT
Areeya Onnom
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
Mook Sasivimon
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
defeat overcome
08 arrays
a-num Sara
..Arrays..
poohwapol
Java-Chapter 07 One Dimensional Arrays
Wongyos Keardsri
งานนำเสนอ1
prapassonmook
งานนำเสนอ1
Ploy StopDark
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Naphamas
Java-Chapter 05 String Operations
Wongyos Keardsri
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
Mook Sasivimon
บทที่ 6 อาร์เรย์
Theeravaj Tum
Java-Chapter 10 Two Dimensional Arrays
Wongyos Keardsri
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
Ad
Similar to (Big One) C Language - 02 ฟังก์ชันส่งผ่านสตริง
(6)
PPT
C lang
Nattawut Pornonsung
PPT
Java Programming [11/12] : Input and Output Classes
IMC Institute
PDF
Java Programming: คลาสอินพุตและเอาต์พุต
Thanachart Numnonda
PPT
09 multi arrays
a-num Sara
PDF
การจัดการข้อมูลชนิด String ใน VB.NET 2005 Express Editor
Warawut
PPT
7 pointer day10
xuou888
C lang
Nattawut Pornonsung
Java Programming [11/12] : Input and Output Classes
IMC Institute
Java Programming: คลาสอินพุตและเอาต์พุต
Thanachart Numnonda
09 multi arrays
a-num Sara
การจัดการข้อมูลชนิด String ใน VB.NET 2005 Express Editor
Warawut
7 pointer day10
xuou888
Ad
(Big One) C Language - 02 ฟังก์ชันส่งผ่านสตริง
1.
ฟังก์ชันส่งผ่านสตริง Advance Computer Programming รหัสวิชา
32090207 อ. กิตตินันท์ น้1อยมณี 1
2.
เนื้อหา 1. String 2. Parameter
1 ข้อความ และหลายๆ ข้อความ อ. กิตตินันท์ น้1อยมณี 2
3.
String อ. กิตตินันท์ น้3อยมณี
3
4.
String • เมื่อได้พื้นฐานของ Array
กับ Pointer เรื่องนี้ก็จะไม่ยากแล้ว • String คือ ข้อความ มีลักษณะเป็น array ของตัวอักขระ • String จะจบด้วย “0” ซึ่งเป็นตัวจบข้อความ (ascii 0) int a[5]; มี 5 ค่า char b[5]; เป็น Array ของ Char (เรียกว่า String) อ. กิตตินันท์ น้1อยมณี 4
5.
String • สามารถกําหนดค่าเริ่มต้นได้ เช่น char
b[5] = “Hi”; อ. กิตตินันท์ น้1อยมณี 5 0 1 2 3 4 b H i 0
6.
String • ถ้าต้องการเปลี่ยนค่า เช่น b
= “High”; b[0] = ‘H’; b[1] = ‘i’; b[2] = ‘g’; b[3] = ‘h’; b[4] = ‘0’; อ. กิตตินันท์ น้1อยมณี 6 ใส่เป็นชุดไม่ได้ การใส่จะต้องแยกใส่ เป็นตัวๆ หมายเหตุ: อักขระเดียวใช้ Single quote
7.
String • ภาษา C
ก็เลยมีคําสั่งเกี่ยวกับ String อยู่ใน string.h • เวลาเรียกใช้ก็ต้อง #include <string.h> char b[5]; strcpy( b, “high” ); strcpy( b, “Hello” ); ทํางานไม่ได้ เพราะข้อความเกินที่จองไว้ อ. กิตตินันท์ น้1อยมณี 7
8.
String • String ถือเป็น
Array ดังนั้นหลักการที่เรียนมาจาก Array สามารถนํามาใช้ได้หมดเลย • Array เป็น Pass by reference ในตัว นั่นก็หมายความว่า หาก Function เปลี่ยนค่ามัน ใน Main ก็จะเปลี่ยนค่าตามไปด้วย อ. กิตตินันท์ น้1อยมณี 8
9.
Parameter 1 ข้อความ และ หลายๆ
ข้อความ อ. กิตตินันท์ น้9อยมณี 9
10.
แบบ Argument • Parameter
1 ข้อความ void function_name ( char str[ ] ) void function_name ( char *str ) • Parameter String หลายๆ ข้อความๆ ละ 20 ตัวอักขระ void function_name ( char str[][20] ) void function_name ( char (*str)[20] ) อ. กิตตินันท์ น้1อยมณี 10
11.
แบบ Return • Parameter
1 ข้อความ char *function_name ( ) • Parameter String หลายๆ ข้อความๆ ละ 20 ตัวอักขระ char ( *function_name() )[20] อ. กิตตินันท์ น้1อยมณี 11
12.
เพิ่มเติม • ดังนั้นควรทําความเข้าใจกับการประกาศตัวแปร String
ให้ดีๆ • เราจะเน้นการส่งออกตัวแปรเป็นหลัก char str[][20] === char (*str)[20] != char *str[20] อ. กิตตินันท์ น้1อยมณี 12
13.
ตัวอย่างการส่งแบบ Argument ตัวอย่างที่ 1:
Function ส่งออกข้อความ อ. กิตตินันท์ น้1อยมณี 13 จํานวนสมาชิกแน่นอน 20 ตัว
14.
ตัวอย่างการส่งแบบ Argument ตัวอย่างที่ 1:
Function ส่งออกข้อความ • ข้อนี้คือการส่งผ่านทาง Parameters โดย String (Pass by reference) ซึ่งต้นทางเป็น Array ที่ประกาศจํานวนสมาชิกอย่างแน่นอนแล้ว อ. กิตตินันท์ น้1อยมณี 14
15.
ตัวอย่างการส่งแบบ Argument ตัวอย่างที่ 2:
Function ส่งออกข้อความ อ. กิตตินันท์ น้1อยมณี 15 ยังไม่กําหนดจํานวนสมาชิก เอาไว้ไปจองใน Function แบบชั่วคราวเอา (เรียก ลักษณะแบบนี้ว่า Dynamic)
16.
ตัวอย่างการส่งแบบ Argument ตัวอย่างที่ 2:
Function ส่งออกข้อความ อ. กิตตินันท์ น้1อยมณี 16 เป็นการทําให้ str มีที่จับจอง
17.
ตัวอย่างการส่งแบบ Argument ตัวอย่างที่ 2:
Function ส่งออกข้อความ • ข้อนี้คือการส่งผ่านทาง Parameter โดย String ต้นทางเป็น Pointer (Pass by reference ของ Pointer) ซึ่งไม่ได้ทําการกําหนดของ String อ. กิตตินันท์ น้1อยมณี 17
18.
ตัวอย่างการส่งแบบ Return ตัวอย่างที่ 3:
Function ส่งออกข้อความ อ. กิตตินันท์ น้1อยมณี 18 ต้นทางแบบนี้มีพื้นที่ว่าง ตายตัวคือ 20 ช่อง ดังนั้น ต้องคัดลอกข้อความจาก Function
19.
ตัวอย่างการส่งแบบ Return ตัวอย่างที่ 4:
Function ส่งออกข้อความ อ. กิตตินันท์ น้1อยมณี 19 Function Return Address
20.
ตัวอย่างการส่งแบบ Return • จากตัวอย่างที่
4 จะเห็นว่า str = GetText(); • การทํางานในลักษณะนี้เป็นการส่ง Address มาได้เลย ศักย์เท่ากันอีกด้วย • ลักษณะนี้จะทํางานเร็วกว่า เพราะข้อมูลคือชุดเดียวกัน ประหยัด หน่วยความจํากว่าด้วย อ. กิตตินันท์ น้1อยมณี 20 char pointer char pointer
21.
เพิ่มเติม • คําสั่ง scanf
จะรับ –String –ข้อความ –int • คําสั่ง gets จะรับ –String อย่างเดียว (แต่รับเว้นวรรคได้ด้วย) หมายเหตุ: gets จะรับ String ได้สมบูรณ์แบบมากกว่า scanf อ. กิตตินันท์ น้1อยมณี 21
Download