Sự khác biệt giữa Ký tự và Chuỗi

Huy Erick
Giới thiệu Khi làm việc trong ngôn ngữ lập trình C, ta thường gặp hai khái niệm quan trọng là Ký tự và Chuỗi. Mặc dù chúng có liên quan đến nhau, nhưng cũng có...

Difference Between Character and String - Comparison Summary

Giới thiệu

Khi làm việc trong ngôn ngữ lập trình C, ta thường gặp hai khái niệm quan trọng là Ký tựChuỗi. Mặc dù chúng có liên quan đến nhau, nhưng cũng có những điểm khác biệt quan trọng. Trong bài viết này, chúng ta sẽ tìm hiểu sự khác biệt cơ bản giữa Ký tự và Chuỗi.

Ký tự

Ký tự đề cập đến một giá trị duy nhất. Trong ngôn ngữ lập trình C, chúng ta sử dụng kiểu dữ liệu char để lưu trữ một ký tự duy nhất. Đa số trình biên dịch cần một byte bộ nhớ để lưu trữ một ký tự. Dưới đây là một ví dụ về một chương trình sử dụng biến kiểu char:

char grade; printf("Nhập điểm: "); scanf("%c", &grade);  switch (grade) {     case 'A':         printf("Xuất sắc!\n");         break;     case 'B':         printf("Tốt!\n");         break;     case 'C':         printf("Trung bình!\n");         break;     default:         printf("Không hợp lệ!\n");         break; }

Trong ví dụ này, biến grade lưu trữ một ký tự duy nhất. Chương trình yêu cầu người dùng nhập điểm, sau đó lưu giá trị vào biến grade. Switch sẽ kiểm tra giá trị của biến grade và hiển thị đầu ra tương ứng. Trong ví dụ này, grade lưu trữ một ký tự duy nhất.

Chuỗi

Chuỗi là một tập hợp các ký tự kết thúc bằng ký tự null ('\0'). Trong ngôn ngữ lập trình C, chúng ta cũng có thể sử dụng kiểu dữ liệu char để lưu trữ một chuỗi. Do chuỗi phải kết thúc bằng ký tự null, kích thước của chuỗi phải lớn hơn số lượng ký tự trong chuỗi đó thêm một.

Dưới đây là một ví dụ về khai báo và khởi tạo một chuỗi:

char message[6] = {'A', 'p', 'p', 'l', 'e', '\0'};

Hoặc ta có thể viết ngắn gọn hơn:

char message[] = "Apple";

Ở đây, không cần thiết phải đặt ký tự null ở cuối chuỗi vì trình biên dịch sẽ tự động thêm ký tự null vào cuối chuỗi khi khởi tạo mảng.

Dưới đây là ví dụ về một chương trình sử dụng chuỗi:

#include  #include   int main() {     char fruit[] = "Apple";     printf("%s\n", fruit);      return 0; }

Trong ví dụ này, biến fruit lưu trữ một chuỗi các ký tự. Lệnh printf hiển thị chuỗi đó trên điều khiển.

Trên ngôn ngữ C, chúng ta cũng có thể sử dụng thư viện "string.h" để thực hiện các thao tác trên chuỗi. Một số hàm có sẵn trong thư viện string.h bao gồm:

  • strcpy(s1, s2);: Sao chép chuỗi s2 vào chuỗi s1.
  • strcat(s1, s2);: Kết hợp chuỗi s2 vào cuối chuỗi s1.
  • strlen(s1);: Tìm độ dài của chuỗi s1.

Tóm tắt

Sự khác biệt chính giữa Ký tự và Chuỗi là Ký tự chỉ đề cập đến một ký tự duy nhất, trong khi Chuỗi là một tập hợp các ký tự. Một cách ngắn gọn, Chuỗi là một bộ sưu tập các ký tự.

Nguồn tham khảo:

  1. Character Definition, Tại đây
  2. C Strings - Javatpoint, Tại đây
1