TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH<br />
<br />
Nhập môn lập trình<br />
Mảng một chiều, chuỗi<br />
TS. Ngô Hữu Dũng<br />
<br />
Đặt vấn đề<br />
<br />
<br />
Cần lưu trữ 10, 100, 1000 số cùng kiểu dữ liệu?<br />
<br />
<br />
<br />
Giải pháp<br />
<br />
<br />
Kiểu dữ liệu mảng cho phép lưu trữ một dãy các số đồng dạng.<br />
<br />
Ví dụ<br />
<br />
<br />
<br />
<br />
<br />
int a[10];<br />
<br />
<br />
Tạo ra một dãy số nguyên gồm 10 phần tử<br />
0<br />
<br />
2<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
Nhập môn lập trình - Mảng, chuỗi<br />
<br />
8<br />
<br />
9<br />
<br />
Dữ liệu kiểu mảng<br />
Khái niệm<br />
<br />
<br />
<br />
<br />
<br />
<br />
Kiểu dữ liệu có cấu trúc do người lập trình định nghĩa.<br />
Biểu diễn một dãy các biến đồng dạng.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Cùng kiểu: dãy các số nguyên, dãy các số thực, dãy các ký tự…<br />
Cùng kích thước<br />
<br />
Số lượng phần tử được xác định ngay khi khai báo.<br />
Một khối nhớ liên tục được cấp phát cho một biến kiểu mảng.<br />
Truy suất một phần tử: tên mảng[chỉ số]<br />
<br />
<br />
Ví dụ mảng có n phần tử: a[0], a[1]… a[n-1]<br />
0<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
a<br />
<br />
3<br />
<br />
Nhập môn lập trình - Mảng, chuỗi<br />
<br />
8<br />
<br />
9<br />
<br />
Khai báo mảng<br />
Cú pháp<br />
<br />
<br />
<br />
[];<br />
<br />
Ví dụ<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
int mangSoNguyen[10];<br />
float mangSoThuc[100];<br />
char chuoiKyTu[1000];<br />
<br />
Lưu ý<br />
<br />
<br />
<br />
<br />
<br />
<br />
Bộ nhớ sử dụng = *sizeof()<br />
<br />
<br />
4<br />
<br />
Phải xác định cụ thể (hằng) khi khai báo.<br />
Một dãy liên tục có chỉ số từ 0 đến -1<br />
Nhập môn lập trình - Mảng, chuỗi<br />
<br />
Ví dụ một số cách khai báo mảng<br />
1. #define MAX 100<br />
2. int main()<br />
3. {<br />
4.<br />
int A[MAX]; // Số phần tử là hằng<br />
5.<br />
int B[100]; // Số phần tử là số nguyên cụ thể<br />
6.<br />
float C[MAX];<br />
7.<br />
float D[1000];<br />
8.<br />
char E[MAX];<br />
9.<br />
char F[10];<br />
10.<br />
11.<br />
typedef int mangSoNguyen[MAX];<br />
12.<br />
typedef float mangSoThuc[100];<br />
13.<br />
mangSoNguyen G;<br />
14.<br />
mangSoThuc H, I;<br />
15.<br />
. . .<br />
16.<br />
return 0;<br />
17.}<br />
5<br />
<br />
Nhập môn lập trình - Mảng, chuỗi<br />
<br />