Skip to main content

Mảng char là gì?

Một mảng các ký tự thường được biết đến trong hầu hết các ngôn ngữ lập trình máy tính như một mảng char.Điều này chủ yếu là do char là từ khóa trong các ngôn ngữ như C được sử dụng để khai báo một biến của kiểu dữ liệu ký tự vô hướng.Một mảng char là một chuỗi các ký tự được ghi trong bộ nhớ theo một hàng dài các địa chỉ liên tiếp có thể được truy cập nhanh bằng cách sử dụng chỉ mục của một phần tử trong mảng.Giống như nhiều mảng các loại dữ liệu vô hướng, lợi ích của việc sử dụng mảng char là cho phép truy cập ngẫu nhiên nhanh và thay thế các giá trị tại các vị trí tùy ý trong mảng.Để hiểu rằng một mảng char đại diện cho một chuỗi các giá trị vô hướng và không phải các lớp hoặc đối tượng.Một kiểu dữ liệu vô hướng là một loại chỉ được lưu trữ dưới dạng một phần của mốc, giống như một số nguyên.Điều này trái ngược với một loạt các đối tượng ký tự, chứa các phương thức và có thể các biến hỗ trợ khác như thông tin tuần tự hoặc đồng bộ hóa.bởi mã hóa ký tự được sử dụng bởi chương trình hoặc hệ điều hành.Vì lý do này, ngoại trừ trong các ngôn ngữ được tiêu chuẩn hóa mạnh mẽ, kích thước thực tế của một ký tự trong bộ nhớ có thể khác nhau trên mỗi hệ thống.Thông tin này có thể tạo ra sự khác biệt khi cố gắng vượt qua mảng char bằng số học con trỏ, trong đó thay vì sử dụng các toán tử tăng và giảm đơn giản, tính toán con trỏ cần sử dụng kích thước ký tự do hệ thống xác định.Dựa vào một mảng trong đó kích thước ký tự là 1 byte hoặc 2 byte có thể gây ra hành vi và lỗi không thể đoán trước nếu chương trình được chạy trên một hệ thống khác trong đó một ký tự có thể được xác định khác nhau. Trong một số chương trình, một mảng các ký tự có thể làĐược sử dụng làm cơ sở để thực hiện một lớp chuỗi hoặc kiểu dữ liệu chuỗi nâng cao.Trong ngôn ngữ lập trình C, các chuỗi thực sự được xử lý theo cách rất giống với một mảng char trong đó một chuỗi các ký tự liên tiếp tạo thành chuỗi, thông báo cho chương trình rằng chuỗi đã kết thúc bằng một ký tự null.Một lớp chuỗi tùy chỉnh có thể được thiết kế để mô phỏng hành vi này với một mảng.

Ứng dụng khác cho một mảng char bao gồm thực hiện các loại nén hoặc mã hóa không nhất thiết phải dựa trên octet mà dựa trên các ký tự có thể đọc được của con người.Mảng cũng có thể đóng vai trò là một loại bộ đệm để xử lý các khối văn bản dài hơn được giữ trong một tệp phương tiện vật lý hoặc một loại đang được đọc từ ổ cắm mạng.Hầu hết các hàm mà mảng char được sử dụng liên quan đến đầu vào văn bản và đầu ra chỉ đơn giản vì kích thước của ký tự vô hướng là không thể đoán trước được từ một hệ thống và trình biên dịch sang một ngôn ngữ khác trong nhiều ngôn ngữ và do đó, không thể dựa vào để giữ các giá trị số nguyên vượt quáphạm vi nhất định.