Chuỗi (String) trong C là một mảng ký tự được kết thúc bởi \0 (ký tự null).
Có hai cách để khai báo chuỗi trong C.
- Theo mảng char.
- Theo chuỗi chữ.
Khai báo chuỗi bằng mảng char
Ví dụ khai báo chuỗi trong C bằng mảng char.
char ch[11] = {'v', 'i', 'e', 't', 't', 'u', 't', 's', '.', 'v', 'n', '\0'};
Như bạn đã biết, chỉ số mảng bắt đầu từ 0, vì vậy nó sẽ được biểu diễn như trong hình dưới đây.
Khai báo chuỗi bằng chuỗi chữ
char ch[11] = "viettuts.vn";
Trong trường hợp này, ký tự '\0' sẽ được trình biên dịch thêm vào cuối chuỗi.
Khi khai báo chuỗi, kích thước là không bắt buộc nên bạn có thể khai báo như sau:
char ch[] = {'v', 'i', 'e', 't', 't', 'u', 't', 's', '.', 'v', 'n', '\0'}; char ch[] = "viettuts.vn";
Nội dung chính
Sự khác biệt giữa mảng char và chuỗi chữ
Sự khác biệt duy nhất là chuỗi chữ không thể thay đổi trong khi chuỗi được khởi tạo bởi mảng char có thể được thay đổi.
Ví dụ chuỗi trong C
#include<stdio.h> #include <math.h> int main() { char ch1[] = {'v', 'i', 'e', 't', 't', 'u', 't', 's', '.', 'v', 'n', '\0'}; char ch2[] = "viettuts.vn"; printf("Mang char la: %s\n", ch1); printf("Chuoi chu la: %s\n", ch2); return 0; }
Kết quả:
Mang char la: viettuts.vn Chuoi chu la: viettuts.vn