Kỹ thuật lập trình<br />
Bài 4 – Chuỗi ký tự<br />
Ngô Hữu Dũng<br />
<br />
91<br />
<br />
Kỹ thuật lập trình | DHTH11C | HK1 | 2016-2017<br />
<br />
Ngô Hữu Dũng<br />
<br />
Khái niệm<br />
<br />
<br />
Mảng kiểu ký tự<br />
<br />
<br />
<br />
<br />
Chuỗi ký tự<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
char word [] = {'H','e','l','l','o','!','\0'};<br />
char word [] = "Hello!";<br />
<br />
Chuỗi ký tự bao gồm một ký tự đặc biệt nằm cuối chuỗi<br />
<br />
<br />
<br />
<br />
char word [] = {'H','e','l','l','o','!'};<br />
<br />
Báo hiệu kết thúc chuỗi<br />
Được hiểu là ký tự NULL, có thể viết là '\0'<br />
<br />
Một chuỗi, ví dụ "Hello!", đã bao hàm ký tự kết thúc, tức char[7]<br />
Kiểu liệt kê, ví dụ {'H','e','l','l','o','!','\0'}, tức char[7]<br />
92<br />
<br />
Kỹ thuật lập trình | DHTH11C | HK1 | 2016-2017<br />
<br />
Ngô Hữu Dũng<br />
<br />
Khai báo<br />
<br />
<br />
<br />
Cú pháp char [] = ;<br />
Cần xác định kích cỡ của chuỗi<br />
<br />
<br />
<br />
<br />
<br />
cần đủ lớn để chứa <br />
<br />
<br />
<br />
<br />
<br />
có thể lớn hơn chiều dài của <br />
bao gồm các ký tự và ký tự NULL (\0)<br />
<br />
Nếu không khai báo (để trống)<br />
<br />
<br />
<br />
<br />
<br />
Khai báo <br />
Khởi tạo một giá trị cho biến<br />
<br />
Cần khởi tạo chuỗi ban đầu cho biến<br />
Kích cỡ của biến chính là chiều dài của chuỗi (gồm ký tự NULL)<br />
<br />
khởi tạo hợp lệ?<br />
<br />
<br />
93<br />
<br />
nằm giữa dấu hai nháy “”<br />
liệt kê {} các ký tự bao gồm ký tự NULL, ‘\0’, ở cuối cùng<br />
Kỹ thuật lập trình | DHTH11C | HK1 | 2016-2017<br />
<br />
Ngô Hữu Dũng<br />
<br />
Ví dụ khai báo<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
6.<br />
7.<br />
8.<br />
9.<br />
10.<br />
11.<br />
12.<br />
<br />
94<br />
<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
char<br />
<br />
hello[] = "Hello!";<br />
// char[7]<br />
hi[] = {'H','i','!','\0'}; // char[4]<br />
name[10];<br />
classname[20] = " Lop tin hoc ";<br />
city[20] = "TP. HCM";<br />
empty[] = "";<br />
empty1[10] = "";<br />
country[] = {'V','N'};// Array, not string!<br />
gender[2] = "male";<br />
// Error!? Overflow<br />
classroom = "V10.4"; // Error!? Char vs string<br />
university[] = 'IUH'; // Error!? Char vs string<br />
a[];<br />
// Error!? unknown size<br />
Kỹ thuật lập trình | DHTH11C | HK1 | 2016-2017<br />
<br />
Ngô Hữu Dũng<br />
<br />
Khởi tạo giá trị<br />
<br />
<br />
Một khởi tạo giá trị: char hello[] = "Hello!";<br />
<br />
<br />
<br />
<br />
Tương đương với<br />
char hello[] = {'H','e','l','l','o','!','\0'};<br />
char hello[7] = {'H','e','l','l','o','!','\0'};<br />
char hello[7] = "Hello!";<br />
<br />
Một khởi tạo giá trị: char empty[] = "";<br />
<br />
<br />
95<br />
<br />
Tương đương với<br />
char empty[] = {'\0'};<br />
char empty[1] = {'\0'};<br />
char empty[1] = "";<br />
<br />
Kỹ thuật lập trình | DHTH11C | HK1 | 2016-2017<br />
<br />
Ngô Hữu Dũng<br />
<br />