Menu
CoddyTech

Chuỗi kiểu C phần 2

Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 68 trên 74.

Bạn cần nhớ rằng khi khai báo một chuỗi kiểu C với kích thước cụ thể, bạn phải cấp đủ chỗ cho các ký tự muốn lưu trữ, cộng thêm một chỗ cho ký tự null.

Ví dụ:

// Đúng: "Hello" cần 6 ô nhớ
// (5 chữ cái + '\0')
char str1[6] = "Hello";
// Sai: Mảng quá nhỏ!
// "Hello" cần 6 ô, nhưng chỉ có 5 ô
char str2[5] = "Hello";
// Lỗi: không thể biên dịch vì chỉ có 5 ô cho 6 ký tự ('H','e','l','l','o','\0')
// Đúng: Dư chỗ trống cũng không sao
// Dư nhiều chỗ trống (10 > 6 cần thiết)
char str3[10] = "Hello";
// Ví dụ minh họa số ký tự:
char name[5] = "John";  // Cần 5 vị trí:
// J + o + h + n + '\0' = 5 ký tự

Bạn có thể truy cập từng ký tự trong chuỗi kiểu C bằng ký hiệu mảng:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

Bạn cũng có thể sửa các ký tự trong chuỗi kiểu C, miễn là không vượt quá giới hạn của mảng:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // In ra "Jello"

Tuy nhiên, bạn không thể gán trực tiếp một chuỗi mới cho chuỗi kiểu C sau khi đã khai báo. Bạn cần dùng các hàm như strcpy để sao chép chuỗi. Mình sẽ hướng dẫn bạn cách này trong các bài học sau.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch C++ online