สตริงคืออาร์เรย์ของอักขระและสิ้นสุดด้วยอักขระ null (\0) ผู้ใช้ไม่ได้วางอักขระ null ไว้ คอมไพเลอร์จะวางไว้ที่ส่วนท้ายของสตริงโดยอัตโนมัติ
ความแตกต่างระหว่างอาร์เรย์และสตริงคือ คอมไพเลอร์ไม่วางอักขระ null ที่ส่วนท้ายของอาร์เรย์ในขณะที่อยู่ในสตริง คอมไพเลอร์จะวางอักขระ null
นี่คือไวยากรณ์ของสตริงในภาษาซี
char myStr[size];
ที่นี่
myStr: สตริง
ขนาด: กำหนดขนาดของสตริง
เริ่มต้นสตริงในภาษา C ดังที่แสดงด้านล่าง -
char myStr[size] = “string”; char myStr[size] = { ‘s’,’t’,’r’,’i’,’n’,’g’,’\0’ };
ตารางต่อไปนี้แสดงฟังก์ชันของสตริงในภาษาซี
ฟังก์ชัน | วัตถุประสงค์ |
---|---|
strcpy(s1, s2) | คัดลอกสตริง s2 ลงในสตริง s2 |
strcat(s1, s2) | เชื่อม s2 เข้ากับจุดสิ้นสุดของ s1 |
strlen(s1) | คืนค่าความยาวของสตริง s1 |
strcmp(s1, s2) | คืนค่า 0 เมื่อ s1 และ s2 เหมือนกัน มากกว่า 0 เมื่อค่า ASCII ของ s1 มากกว่า s2 น้อยกว่า 0 เมื่อค่า ASCII ของ s1 น้อยกว่า s2 |
strchr(s1, ch) | ส่งกลับตัวชี้ไปที่การเกิดขึ้นครั้งแรกของอักขระ ch ในสตริง s1 |
strstr(s1, s2) | คืนค่าตัวชี้ไปที่การเกิดขึ้นครั้งแรกของสตริง s2 ในสตริง s1 |
นี่คือตัวอย่างสตริงในภาษาซี
ตัวอย่าง
#include <stdio.h> #include <string.h> int main () { char s1[10] = "Hello"; char s2[10] = "World"; int len, com ; strcpy(s1, s2); printf("Strings s1 and s2 : %s\t%s\n", s1, s2 ); strcat( s1, s2); printf("String concatenation: %s\n", s1 ); len = strlen(s1); printf("Length of string s1 : %d\n", len ); com = strcmp(s1,s2); printf("Comparison of strings s1 and s2 : %d\n", com ); return 0; }
ผลลัพธ์
Strings s1 and s2 : WorldWorld String concatenation: WorldWorld Length of string s1 : 10 Comparison of strings s1 and s2 : 87