190 likes | 338 Views
Strings. C Strings. ในภาษาซีใช้ array of character ในการเก็บสายอักขระ( string) เพิ่ม null character ‘’ ต่อท้ายอักขระตัวท้าย เป็นการ บอกจุดสิ้นสุดสตริง. เช่น char code[6];. เช่น char name[6]= “ BERRY ” ;. เช่น char str[6]= “ JAN ” ;. คำสั่งรับค่า - แสดงผลสตริง. C Strings.
E N D
C Strings • ในภาษาซีใช้ array of character ในการเก็บสายอักขระ(string) • เพิ่ม null character ‘\0’ ต่อท้ายอักขระตัวท้าย เป็นการบอกจุดสิ้นสุดสตริง
คำสั่งรับค่า - แสดงผลสตริง
C Strings • ในภาษาซีมี standard library function เกี่ยวกับสตริงให้ใช้งาน • ที่ใช้งานบ่อยๆ ได้แก่ strlen(ชื่อตัวแปรสตริง) strcpy(ชื่อตัวแปรสตริงปลายทาง, ชื่อตัวแปรสตริงต้นทาง)
ตัวอย่าง char s[5]; strcpy(s, “MWIT”); s s memory [0] [1] [2] [3] [4]
Note!! • assignment operator หรือ เครื่องหมายเท่ากับ (=) ไม่สามารถใช้กำหนดค่าให้กับตัวแปรสตริงได้ ต้องใช้ฟังก์ชัน strcpy() เท่านั้น strcpy(s, “MWIT”); S = “MWIT” ;
Question Q: จะเกิดอะไรขึ้น ถ้าเราเก็บข้อความ “MahidolWittayanusorn” ลงในตัวแปร char s[10]; A: ข้อความจะถูกเก็บไว้ในตัวแปร s และจะบันทึกตัวอักษรที่เกินไปด้วย ซึ่งอาจไปบันทึกทับข้อมูลที่ถูกเก็บไว้ถัดจากตัวแปร s
ตัวอย่าง ผลลัพธ์ char s[10]; int len; strcpy(s, “MWIT”); len = strlen(s); printf(“%d”, len); 4
string.h • strcpy(dest_string, source_string); • int a = strlen(string); • strcat(dest_string, source_string); • int a = strcmp(string1, string2); • string1 == string2 if a == 0 • string1 < string2 if a is negative (-) • string1 > string2 if a is positive (+)
โจทย์ 4 • ตรวจสอบ string ที่ผู้ใช้ป้อนเข้ามาว่าเป็น palindrome หรือไม่ เช่น level success deed maimai
Multidimensional Arrays • ตัวอย่างการประกาศ array 2 มิติ ขนาด 10 x 10 โดยเก็บเลขจำนวนเต็ม กำหนดค่าแรกและค่าสุดท้ายเป็น 13 int board[10][10]; board[0][0] = 13; board[9][9] = 13;
Memory Row 0 Row 1 Row 2 Row 3 ถ้ากำหนด int b[4][3]; 0 1 2 0 1 2 3 Rows Columns
Memory Row 0 Row 1 Row 2 Row 3 ถ้ากำหนด int b[2][4][3]; Columns 0 1 2 Page 0 0 1 2 3 Rows Page 1 Page 0
array - initialize int a[2][3] = { 1, 2, 3, 4, 5, 6}; int a[2][3] = { { 1, 2, 3 }, {4, 5, 6 } }; int a[2][3] = { { 1, 2 }, {3, 4, 5 } }; int a[5][5] = { { 1, 2, 3 }, {4, 5, 6 } };
array - initialize int a[][3] = { { 1, 2, 3 }, {4, 5, 6 } }; int a[2][] = { { 1, 2, 3 }, {4, 5, 6 } };
โจทย์ 5 • เขียนโปรแกรมคำนวณหาผลบวก ลบ และผลคูณเมตริกซ์ขนาด 3 x 3 • A + B • A – B • A x B