Chuỗi (string) trong c

  -  
Học Lập trình C / By Tạ Lục Gia Hoàng / January 13, 2022 January 18, 2022 / C Programming, string / Leave a Comment
*

Chuỗi (string) thực ra là mảng một chiều các ký tự (character array) được kết thúc bằng ký tự rỗng (null) ‘\0’. Do đó, một chuỗi kết thúc bằng null (null-terminated string) gồm các ký tự bao gồm string theo sau là một null.

Bạn đang xem: Chuỗi (string) trong c

Cách khai báo và khởi tạo dưới đây tạo một chuỗi chứa từ “Hello”. Để giữ ký tự null ở cuối mảng, kích thước của mảng ký tự chứa chuỗi phải lớn hơn một ký tự so với “Hello”.

char greeting<6> = {"H", "e", "l", "l", "o", "\0"};Nếu bạn làm theo cách khởi tạo mảng thì bạn có thể viết phát biểu như sau.

char greeting<> = "Hello";Trong bộ nhớ thì chuỗi trên sẽ được lưu là.


*

Thật ra, bạn không bị bắt buộc đặt ký tự null ở cuối một chuỗi hằng (string constant). Bộ biên dịch C sẽ tự động đặt ‘\0’ tại cuối chuỗi khi nó khởi tạo mảng. Chúng ta hãy thử in chuỗi trên ra màn hình xem.

#include int main () { char greeting<6> = {"H", "e", "l", "l", "o", "\0"}; printf("Greeting message: %s\n", greeting ); return 0;}Khi đoạn code trên được biên dịch và thực thi, ta được kết quả sau.

Greeting message: HelloHàm Xử Lý ChuỗiNgôn ngữ lập trình C hỗ trợ nhiều loại hàm điều khiển chuỗi kết thúc bằng null.

Sr.No.

Xem thêm: 99+ Mẫu Vẽ Tranh Đường Phố Đơn Giản Với 8 Bước Cơ Bản, 99+ Mẫu Vẽ Tranh Tường Đường Phố Đẹp Độc Đáo

Function & Purpose
1strcpy(s1, s2); Copy chuỗi s2 vào chuỗi s1.
2strcat(s1, s2); Nối chuỗi s2 vào chuỗi s1.
3strlen(s1); Trả về độ dài chuỗi s1.
4strcmp(s1, s2); Trả về 0 nếu s1 và s2 giống nhau; nhỏ hơn 0 nếu s1s2.
5strchr(s1, ch); Trả về một con trỏ tới chỗ xuất hiện đầu tiên của kí tự ch chuỗi s1.
6strstr(s1, s2); Trả về một con trỏ tới chỗ xuất hiện đầu tiên của chuỗi s2 trong chuỗi s1.

Hãy xem xét ví dụ này để hiểu các hàm vừa đề cập ở trên.

Xem thêm: 10 Cặp Đôi Được Yêu Thích Nhất Trong Chương Trình We Got Married ” Của Hàn Quốc

#include #include int main () { char str1<12> = "Hello"; char str2<12> = "World"; char str3<12>; int len ; /* copy str1 into str3 */ strcpy(str3, str1); printf("strcpy( str3, str1) : %s\n", str3 ); /* concatenates str1 and str2 */ strcat( str1, str2); printf("strcat( str1, str2): %s\n", str1 ); /* total lenghth of str1 after concatenation */ len = strlen(str1); printf("strlen(str1) : %d\n", len ); return 0;}Khi đoạn code được biên dịch và thực thi, kết quả nhận được là.

strcpy( str3, str1) : Hellostrcat( str1, str2): HelloWorldstrlen(str1) : 10(Tiếp theo)