Chuỗi (String) trong C là một mảng ký tự, hay nói cách khác được biểu diễn dưới dạng một chuỗi các ký tự và được kết thúc bởi \0 (ký tự null).
Có hai cách để khai báo chuỗi trong C.
- Khai báo chuỗi bằng mảng char, liệt kê từng ký tự của chuỗi.
- Theo chuỗi chữ, gán một chuỗi ký tự được đặt trong dấu nháy kép.
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[] = {'d', 'a', 't', 'v', 'i', 'e', 't', '.', 'l', 'a', 'p', 't', 'r', 'i', 'n', 'h', '\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[] = "datviet.laptrinh";
Ký tự '\0' rất quan trọng. Nếu không có, ví dụ chuỗi trên, kể cả ký tự '\0' là 17 phần tử.
Nếu bạn qui định rõ số phần tử trong mảng bằng 17 hoặc lớn hơn, kết quả in ra sẽ đúng như mong muốn của chúng ta.
Nếu bạn không qui định rõ số phần tử trong mảng bằng 17 hoặc lớn hơn, và bạn không bao gồm ký tự '\0' trong mảng, kết quả in ra sẽ không đúng như mong muốn của chúng ta.
Đây là code ví dụ
#include <stdio.h>
int main(){
char c[] = "datviet.laptrinh";
char d[] = {'d', 'a', 't', 'v', 'i', 'e', 't', '.', 'l', 'a', 'p', 't', 'r', 'i', 'n', 'h', '\0'};
char s[] = {'d', 'a', 't', 'v', 'i', 'e', 't', '.', 'l', 'a', 'p', 't', 'r', 'i', 'n', 'h'};
char t[17] = {'d', 'a', 't', 'v', 'i', 'e', 't', '.', 'l', 'a', 'p', 't', 'r', 'i', 'n', 'h'};
printf("%s\n", c);
printf("%s\n", d);
printf("%s\n", s);
printf("%s\n", t);
return 0;
}
Khi bạn sử dụng IDE Online để chạy chương trình bạn sẽ thấy rõ kết luận trên.
Không có nhận xét nào:
Đăng nhận xét