ฟังก์ชันสตริงในภาษาซี
เผยแพร่แล้ว: 2022-11-14การเขียนโปรแกรมในภาษาซีใช้ชุดของอักขระและฟังก์ชันปัจจุบันต่างๆ เพื่อลดความซับซ้อนของกระบวนการเขียนโค้ดที่ยาวเป็นฟังก์ชันที่สั้นและแม่นยำเพื่อการใช้งานที่ง่าย ฟังก์ชันเหล่านี้ช่วยให้โปรแกรมเมอร์สามารถจัดการการทำงานหลายอย่างโดยใช้อักขระจำกัดและจัดการสตริงได้ง่าย ภาษาการเขียนโปรแกรมที่หลากหลายมีฟังก์ชันในตัวพร้อมใช้ตามต้องการเพื่อความแม่นยำ
วันนี้เราจะพูดถึงสตริงการเขียนโปรแกรมภาษา C และฟังก์ชันต่างๆ เพื่อทำความเข้าใจเชิงลึกเกี่ยวกับฟังก์ชันสตริงที่หลากหลาย การใช้งาน ประโยชน์ และฟังก์ชันอื่นๆ ที่ทำให้โปรแกรมเมอร์สามารถทำงานร่วมกันได้อย่างมีพลวัต
สตริงคืออะไร
สตริงมีอยู่ในภาษาการเขียนโปรแกรมที่หลากหลาย แม้ว่า c จะประมวลผลสตริงที่แตกต่างจากภาษาโปรแกรมทั่วไป ในภาษาซี สตริงคืออาร์เรย์ของอักขระหนึ่งมิติ โดยที่อักขระสตริงแต่ละตัวใช้ตำแหน่งเดียวในอาร์เรย์ สตริงลงท้ายด้วยอักขระ null ที่กำหนดโดย '\0' ซึ่งหมายถึงจุดสิ้นสุดของสตริงใดๆ
ลองดูที่การแสดงอักขระและสตริง:
อักขระถ่าน[10] = {'w','e','l','c','o','m','e','\0'};
char string[10] = “ยินดีต้อนรับ”;
char string []= “ยินดีต้อนรับ”;
การสิ้นสุดสตริงด้วยอักขระ null เป็นสิ่งสำคัญในการจดจำลำดับของอักขระที่เป็นสตริง มิฉะนั้น จะเป็นเพียงลำดับของอักขระที่ไม่มีตัวสิ้นสุดที่เป็นโมฆะ โปรดทราบว่าสตริงจะอยู่ในเครื่องหมายอัญประกาศคู่ ในขณะที่เครื่องหมายอัญประกาศเดี่ยวจะล้อมรอบอักขระในลำดับ การประกาศสตริงเป็น string[10] จะจัดสรร 10 ไบต์ของสตริง ขณะที่สตริง[] จะจัดสรรหน่วยความจำระหว่างการทำงานของโปรแกรม
เรียนรู้หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโทเพื่อติดตามความก้าวหน้าในอาชีพของคุณอย่างรวดเร็ว
ประกาศของสตริง
ดังที่กล่าวไว้ข้างต้น สตริงจะถูกประกาศโดยใช้สองวิธีที่แตกต่างกัน C เป็นภาษาทางสถิติที่มีมิติเดียว ดังนั้น ตัวแปรสตริงจำเป็นต้องมีการประกาศเพื่อแนบความหมายเฉพาะกับสตริงใดๆ
ตัวอย่างเช่น- char temp[]=” temp string”;
ที | อี | ม | หน้า | ส | ที | ร | ผม | น | กรัม | \0 |
สตริงประเภทอักขระ เมื่อประกาศภายในเครื่องหมายอัญประกาศแล้ว '\0' จะถูกนำไปใช้โดยตรงที่ส่วนท้ายของสตริงเพื่อสิ้นสุดสตริง นอกจากนี้ยังสามารถแสดงเป็น char temp[]=” temp string”;
- อักขระที่ประกาศเป็น 'string[6]' จะเก็บหน่วยความจำ 6 ไบต์เพื่อจัดสรรค่าสตริง ในทางกลับกัน การประกาศเป็น ' string[] ' จะจัดสรรพื้นที่ตามความต้องการผ่านการทำงานของโปรแกรม
การเริ่มต้นของสตริง
กระบวนการประกาศและการกำหนดค่าเริ่มต้นดำเนินไปพร้อมกัน โดยที่การประกาศจะประกาศการมีอยู่ของตัวแปร และการกำหนดค่าเริ่มต้นจะกำหนดค่าให้กับตัวแปรนั้น การเริ่มต้นของสตริงใน c มีหลายวิธีในการนำไปใช้ นี่คือบางส่วนของพวกเขา:
- ถ่าน t[]=” สตริงชั่วคราว”;
- ถ่าน t[10]=” สตริงชั่วคราว”;
- ถ่าน t[]={'t','e','m', 'd','\0'};
- ถ่าน t[5]={'t','e','m', 'd','\0'};
ฟังก์ชันสตริงในภาษาซี
ฟังก์ชันสตริงในภาษาการเขียนโปรแกรม C รวมอยู่ด้วยเพื่อลดความซับซ้อนในการจัดการกับสตริง ฟังก์ชันสตริงหมายถึงลำดับของประโยคที่ทำงานเฉพาะอย่าง ฟังก์ชันเหล่านี้สามารถใช้ซ้ำในสตริงต่างๆ เพื่อลดความซับซ้อนในการจัดการสตริง ทำให้สามารถใช้ชุดคำสั่งเดียวกันในรูปแบบการเข้ารหัสที่แตกต่างกันได้ โปรแกรมเมอร์หลายคนได้รับประโยชน์จากฟังก์ชันสตริงเพื่อประหยัดเวลาในการเขียนโค้ดใหม่หลายครั้ง นี่คือข้อดีของการใช้ฟังก์ชันสตริง:
- ขนาดที่ลดลงของรหัส
- ความสามารถในการอ่านที่เพิ่มขึ้น
- กระบวนการดีบักที่ง่ายขึ้น
- ปรับปรุงการนำโค้ดกลับมาใช้ใหม่ ทำให้โปรแกรมเมอร์ใช้ฟังก์ชันที่คล้ายกันได้โดยไม่จำเป็นต้องเขียนโค้ดใหม่ตั้งแต่ต้น
ประเภทของฟังก์ชันสตริง
แทนที่จะใช้ลำดับรหัสที่ซับซ้อนเพื่อจัดการกับรหัส ฟังก์ชันสตริงที่สร้างขึ้นมาแบบต่างๆ สามารถใช้จัดการกับสตริงที่จัดเก็บไว้ในไลบรารีฟังก์ชันการจัดการสตริงมาตรฐานของภาษา C ที่เรียกว่า 'string.h'
ต่อไปนี้เป็นฟังก์ชันการจัดการสตริงทั่วไป:
1. ฟังก์ชัน printf() และ scanf()
ฟังก์ชัน scanf() ใช้เพื่อรับข้อมูลจากผู้ใช้จนกว่าจะเจอช่องว่างหรือจุดสิ้นสุด
ตัวอย่างเช่น:
#รวม <stdio.h>
int หลัก ()
{
int ทดสอบจำนวนเต็ม;
printf(“ใส่จำนวนเต็ม:“);
scanf(“%d”, &testInteger);
printf(“Number = %d”,testInteger);
กลับ 0;
}
เอาท์พุต:
ป้อนจำนวนเต็ม: 4
จำนวน = 4
ฟังก์ชัน printf() ส่งเอาต์พุตที่จัดรูปแบบแล้วไปยังหน้าจอ พิมพ์ทั้งสตริงและตัวแปร
ตัวอย่างเช่น:
#รวม <stdio.h>
int หลัก ()
{
// แสดงสตริงภายในเครื่องหมายคำพูด
printf (“การเขียนโปรแกรม C”);
กลับ 0;
}
เอาท์พุต:
การเขียนโปรแกรมภาษาซี
หลักสูตรและบทความยอดนิยมเกี่ยวกับวิศวกรรมซอฟต์แวร์
โปรแกรมยอดนิยม | |||
โปรแกรม Executive PG ในการพัฒนาซอฟต์แวร์ - IIIT B | โปรแกรมใบรับรอง Blockchain - PURDUE | โปรแกรมใบรับรองความปลอดภัยทางไซเบอร์ - PURDUE | MSC ในวิทยาการคอมพิวเตอร์ - IIIT B |
บทความยอดนิยมอื่น ๆ | |||
เงินเดือนวิศวกรคลาวด์ในสหรัฐอเมริกา 2021-22 | เงินเดือนสถาปนิกโซลูชัน AWS ในสหรัฐอเมริกา | เงินเดือนนักพัฒนาแบ็กเอนด์ในสหรัฐอเมริกา | เงินเดือนนักพัฒนาส่วนหน้าในสหรัฐอเมริกา |
เงินเดือนนักพัฒนาเว็บในสหรัฐอเมริกา | คำถามสัมภาษณ์ Scrum Master ในปี 2022 | จะเริ่มอาชีพใน Cyber Security ในปี 2565 ได้อย่างไร | ตัวเลือกอาชีพในสหรัฐอเมริกาสำหรับนักศึกษาวิศวกรรม |
2. ฟังก์ชัน puts() และ gets()
ฟังก์ชัน gets() รับอินพุตของผู้ใช้ในขณะที่อ่านช่องว่างเป็นสตริง ในทางกลับกัน ฟังก์ชัน put() อนุญาตให้พิมพ์เอาต์พุตสตริงบนหน้าจอผู้ใช้
ตัวอย่างเช่น:
#include หลัก ()
Int หลัก()
{
อุณหภูมิถ่าน [20];
printf(“ใส่ชื่อของคุณ”);
ได้รับ (อุณหภูมิ);
printf("ชื่อของฉันคือ:");
ทำให้ (อุณหภูมิ);
กลับ 0;
}
3. ฟังก์ชัน strcpy()
ฟังก์ชัน strcpy() คัดลอกเนื้อหาของสตริงหนึ่งไปยังอีกสตริงหนึ่ง
ตัวอย่างเช่น:
#รวม <stdio.h>
#รวม <string.h>
int หลัก ()
{
ถ่าน s1[30] = “สตริง 1”;
char s2[30] = “สตริง 2 : ฉันจะคัดลอกลงใน s1”;
/* ฟังก์ชันนี้ได้คัดลอก s2 ลงใน s1*/
strcpy(s1,s2);
printf(“สตริง s1 คือ: %s”, s1);
กลับ 0;
}
เอาท์พุต:
สตริง s1 คือ: สตริง 2: ฉันจะคัดลอกลงใน s1
4. ฟังก์ชัน strlen()
แทนที่จะเขียนโปรแกรมด้วยตนเองเพื่อหาความยาวของสตริงใดๆ ให้ใช้ฟังก์ชัน strlen() เพื่อหาความยาวของสตริงใดๆ
ตัวอย่างเช่น:
#รวม <stdio.h>
#รวม <string.h>
int หลัก ()
{
char str1[20] = “หนังสือเริ่มต้น”;
printf(“ความยาวของสตริง str1 เมื่อ maxlen คือ 30: %d”, strnlen(str1, 30));
printf(“ความยาวของสตริง str1 เมื่อ maxlen คือ 10: %d”, strnlen(str1, 10));
กลับ 0;
}
เอาท์พุต:
ความยาวของสตริง str1 เมื่อ maxlen เป็น 30:13
ความยาวของสตริง str1 เมื่อ maxlen เป็น 10:10
5. ฟังก์ชัน strrev()
สามารถใช้ฟังก์ชัน strrev() เพื่อย้อนกลับเนื้อหาของสตริงใดๆ
ตัวอย่างเช่น:
#include<stdio.h>
#include<string.h>
int หลัก ()
{
อุณหภูมิถ่าน[20]=”ย้อนกลับ”;
printf(“สตริงก่อนย้อนกลับคือ: %s\n”, temp);
printf(“สตริงหลัง strrev() :%s”, strrev(temp));
กลับ 0;
}
6. ฟังก์ชัน strcmp()
ฟังก์ชัน strcmp() ใช้เพื่อเปรียบเทียบสองสตริง ฟังก์ชัน strcmp ใน C เปรียบเทียบคุณสมบัติร่วมกันระหว่างสองสตริงเพื่อส่งผลลัพธ์ หากสตริงคล้ายกัน strcmp ใน C จะจับได้
ตัวอย่างเช่น:
#รวม <stdio.h>
#รวม <string.h>
int หลัก ()
{
ถ่าน s1[20] = “หนังสือเริ่มต้น”;
ถ่าน s2[20] = “BeginnersBook.COM”;
ถ้า (strcmp(s1, s2) ==0)
{
printf(“สตริงที่ 1 และสตริงที่ 2 เท่ากัน”);
}อื่น
{
printf(“สตริงที่ 1 และ 2 แตกต่างกัน”);
}
กลับ 0;
}
เอาท์พุต:
สาย 1 และ 2 แตกต่างกัน
7. ฟังก์ชัน strcat()
ฟังก์ชัน strcat() ใช้เพื่อต่อท้ายสตริงต้นทางต่อท้ายสตริงปลายทาง (แมวหมายถึงการต่อ)
ตัวอย่างเช่น:
#รวม <stdio.h>
#รวม <string.h>
int หลัก ()
{
ถ่าน s1[10] = “สวัสดี”;
ถ่าน s2[10] = “โลก”;
strcat(s1,s2);
printf(“เอาต์พุตสตริงหลังการต่อข้อมูล: %s”, s1);
กลับ 0;
}
เอาท์พุต:
สตริงเอาต์พุตหลังการต่อข้อมูล: HelloWorld
8. ฟังก์ชัน strlwr()/strupr()
ฟังก์ชัน strlwr() และ strupr() ช่วยแปลงตัวอักษรจากตัวพิมพ์เล็กเป็นตัวพิมพ์ใหญ่และกลับกัน
ตัวอย่างเช่น:
#include<stdio.h>
#include<string.h>
int หลัก ()
{
char str[]=”แปลงฉันเป็นตัวพิมพ์เล็ก”;
printf(“%s\n”, strlwr(str));
กลับ 0;
}
เอาท์พุต:
แปลงฉันเป็นตัวพิมพ์เล็ก
ผลลัพธ์ที่ได้จะแปลงเป็นตัวพิมพ์ใหญ่หากเราใช้ ฟังก์ชัน strupr() แทน strlwr( )
เพิ่มโอกาสในการทำงานในฐานะโปรแกรมเมอร์
ความรู้อย่างถ่องแท้เกี่ยวกับภาษาซีหรือภาษาโปรแกรมอื่น ๆ สามารถช่วยให้คุณเริ่มต้นได้ดีสำหรับอาชีพด้านไอทีที่ประสบความสำเร็จ สิ่งที่คุณต้องมีคือใบรับรองระดับมืออาชีพและพื้นที่ความคิดเฉพาะเพื่อพัฒนาทักษะของคุณ โปรแกรมผู้บริหารของ upGrad ในการพัฒนาซอฟต์แวร์ ซึ่งขยายโดย Purdue University เป็นโอกาสของคุณในการเริ่มต้นอาชีพ Full-Stack ของคุณ
หลักสูตรของหลักสูตรจัดทำขึ้นตามทักษะล่าสุด รวมถึง MERN, การพัฒนา, สิ่งจำเป็นในการเขียนโปรแกรม, API, การพัฒนาส่วนหน้าและส่วนหลัง, DevOps และอื่นๆ น่าแปลกใจที่ผู้เรียนไม่จำเป็นต้องมีภาษาเขียนโค้ดมาก่อน ทำให้โปรแกรมเปิดกว้างสำหรับผู้ที่ต้องการเทคโนโลยีทุกคน!
พร้อมด้วยคณาจารย์ที่มีประสบการณ์ แพลตฟอร์มการเรียนรู้แบบไดนามิกของ upGrad ช่วยให้นักเรียนได้เรียนรู้ในสภาพแวดล้อมที่เจริญรุ่งเรืองโดยผู้นำในอุตสาหกรรม ซึ่งจะฝึกอบรมพวกเขาในแนวคิดเชิงลึกที่เกี่ยวข้องกับตลาดเทคโนโลยีในปัจจุบัน
เยี่ยมชม upGrad เพื่อเรียนรู้เพิ่มเติม!
บทสรุป
ฟังก์ชันในตัวเหล่านี้มีความน่าเชื่อถืออย่างยิ่งสำหรับโปรแกรมเมอร์ในการใช้ผ่านลำดับการเข้ารหัสที่ซับซ้อน เพื่อประหยัดเวลาและความพยายามในการสร้างฟังก์ชันสำหรับการดำเนินการบางอย่าง นอกจากฟังก์ชันที่อธิบายเหล่านี้แล้ว ไฟล์ส่วนหัวของสตริงยังมีการดำเนินการที่เชื่อมโยงกับฟังก์ชันอื่นๆ ที่หลากหลายเพื่อทำให้การเขียนโปรแกรมง่ายขึ้น
ฝึกฝนต่อไปเพื่อสำรวจพวกมันทั้งหมด!
สตริงและประเภทคืออะไร
สตริงคือชุดของอักขระที่สิ้นสุดด้วยอักขระ null ซึ่งใช้กันอย่างแพร่หลายในการเขียนโปรแกรมคอมพิวเตอร์ มีฟังก์ชันที่หลากหลายเพื่อลดความซับซ้อนของลำดับการเข้ารหัส และมีข้อมูลหลายประเภทในภาษาโปรแกรมต่างๆ แม้ว่าในภาษา C สตริงจะสนับสนุนเฉพาะประเภทข้อมูลอักขระเท่านั้น
อักขระว่างใน C คืออะไร?
อักขระว่างใน C หมายถึงอักขระใดๆ ที่ไม่มีค่า อักขระ Null มีค่าเป็นศูนย์และเรียกอีกอย่างว่าตัวยุติค่า Null แม้ว่าจะถูกพิจารณาว่าเป็นอักขระที่มีค่าเป็นศูนย์ แต่อักขระ null มีความสำคัญในภาษาการเขียนโปรแกรมหลายภาษาเนื่องจากการนำไปใช้เป็นอักขระควบคุมสำหรับการเติมช่องว่างและการเติม
ฟังก์ชั่นในภาษาซีคืออะไร?
ฟังก์ชันในภาษา C เป็นลำดับของรหัสที่มีฟังก์ชันบางอย่าง เมื่อใช้งานในรูปแบบไวยากรณ์ ฟังก์ชันจะเรียกใช้การดำเนินการบางอย่างและสามารถใช้ซ้ำเพื่อดำเนินการฟังก์ชันที่คล้ายกันในไวยากรณ์ที่แตกต่างกันได้ ฟังก์ชันสามารถเป็นได้ทั้งในตัวหรือจำเป็นต้องกำหนดเพื่อทำงานเฉพาะอย่าง