สตริงคืออาร์เรย์ของตัวอักษรที่จบด้วยตัวอักษร null (\0) คอมไพเลอร์จะวาง \0 ไว้ท้ายสตริงโดยอัตโนมัติ
ความแตกต่างระหว่างอาร์เรย์ทั่วไปกับสตริงคือ อาร์เรย์ทั่วไปไม่มี \0 ท้ายอาร์เรย์
รูปแบบไวยากรณ์
char myStr[size];
myStr: ชื่อสตริง
size: ขนาดของสตริง
การกำหนดค่าเริ่มต้น
char myStr[size] = "string";
char myStr[size] = { 's','t','r','i','n','g','\0' };ฟังก์ชันสตริงหลักใน C
| ฟังก์ชัน | วัตถุประสงค์ |
|---|---|
| strcpy(s1, s2) | คัดลอกสตริง s2 ไปยัง s1 |
| strcat(s1, s2) | ต่อสตริง s2 ต่อท้าย s1 |
| strlen(s1) | คืนความยาวของสตริง s1 |
| strcmp(s1, s2) | เปรียบเทียบสตริง คืน 0 หากเหมือนกัน, >0 หาก s1 มากกว่า, <0 หาก s1 น้อยกว่า |
| 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 : World World String concatenation: WorldWorld Length of string s1 : 10 Comparison of strings s1 and s2 : 87