สตริงคืออาร์เรย์ของอักขระและสิ้นสุดด้วยอักขระ 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