Chuỗi kiểu C phần 1
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 67 trên 74.
Chuỗi kiểu C được tạo bằng kiểu dữ liệu char thay vì string. Chúng kết thúc bằng một ký tự đặc biệt gọi là ký tự null ('\0').
Ký tự này đánh dấu điểm kết thúc của chuỗi. Chuỗi kiểu C thường được gọi là “chuỗi kết thúc bằng ký tự null”.
Ví dụ về một khai báo đơn giản:
char str1[] = "Hello";str1 được khai báo mà không có kích thước cụ thể. Trình biên dịch tự động xác định kích thước dựa trên giá trị khởi tạo (bao gồm cả ký tự null).
Ví dụ về cách khởi tạo tường minh bằng các ký tự:
char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};str2 được khai báo với kích thước 6 và khởi tạo tường minh bằng các ký tự, bao gồm ký tự null ở cuối.
Ví dụ khởi tạo một phần:
char str3[10] = "Coddy";str3 được khai báo với kích thước 10, nhưng chỉ 6 ký tự đầu tiên được khởi tạo. Phần còn lại của mảng được điền bằng các ký tự null.
Để dùng các hàm xử lý chuỗi kiểu C, chúng ta cần thêm tệp tiêu đề này:
#include <cstring>Sau phần include, bạn có thể dùng hàm (function) strlen để lấy độ dài của chuỗi kiểu C:
std::cout << strlen(str1); // Đầu ra: 5Thử thách
DễTạo một hàm có tên printStringInfo, nhận một chuỗi kiểu C làm đầu vào và thực hiện các việc sau:
String:theo sau là chuỗi ban đầu.Length:theo sau là kết quả củastrlen(str).Character at index 4:theo sau là ký tự ở vị trí đó.Modified string:theo sau là chuỗi sau khi đổi ký tự đầu tiên thànhX.
Tự làm thử
#include <iostream>
#include <cstring>
void printStringInfo(char str[]) {
// In ra chuỗi
// In ra độ dài của chuỗi
// In ra ký tự tại chỉ số 4
// Đổi ký tự đầu tiên thành 'X'
// In ra chuỗi sau khi sửa
}
int main() {
char message[] = "Hello, World!";
printStringInfo(message);
return 0;
}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
6Ra quyết định
Câu lệnh ifIf và elseCâu lệnh switchToán tử điều kiệnÔn tập if và elseIf và else lồng nhau9Vòng lặp
Vòng lặp for phần 1Vòng lặp whileVòng lặp do whileBreakContinueVòng lặp for phần 2Vòng lặp lồng nhauVòng lặp vô hạnÔn tập: đầu vào động12Chuỗi
Chuỗi kiểu C phần 1Chuỗi kiểu C phần 2Các thao tác với chuỗiCác hàm xử lý chuỗi phần 1Các hàm xử lý chuỗi phần 2Tự luyện tập: Trình biên dịch C++ online