
Ngôn ngữ lập trình C

Chương 3 – Mảng và con trỏ
3.1. Mảng
3.2. Con trỏ
3.3. Liên hệ giữa mảng và con trỏ
3.4. Cấp phát bộ nhớ động
3.5. Xâu ký tự

3.1. Mảng
Mảng là tập hợp các giá trị cùng kiểu dữ liệu
Khai báo:
<Kiểu_dữ_liệu> <Tên_mảng><[Kích thước chiều thứ
nhất][Kích thước chiều thứ 2][…]>;
Mỗi phần tử của mảng lưu trữ 1 giá trị.
Mỗi một phần tử của mảng được coi như 1 biến.
Có bao nhiêu kiểu biến thì có bấy nhiêu kiểu mảng.

3.1. Mảng
Số chiều và kích thước của mảng
Ví dụ các khai báo: int a[10],b[4][2];
float x[5],y[3][3];
Khi đó ta có:
Thứ tự Tên mảng Kiểu mảng Số chiều Kích thước Các phần tử
1 a int 1 10 a[0],a[1],a[2]...a[9]
2 b int 2 4x2
b[0][0], b[0][1]
b[1][0], b[1][1]
b[2][0], b[2][1]
b[3][0], b[3][1]
3 x float 1 5 x[0],x[1],x[2]...x[4]
4 y float 2 3x3
y[0][0], y[0][1], y[0][2]
y[1][0], y[1][1], y[1][2]
y[2][0], y[2][1], y[1][2]

3.1. Mảng
Một số lưu ý
Các phần tử của mảng được cấp phát trong các khoảng nhớ liên
tiếp trong bộ nhớ.
Một phần tử cụ thể của mảng được xác định thông qua tên mảng và
chỉ số của nó.
Chỉ số của mảng phải có kiểu nguyên, không vượt quá kích
thước mảng.
Chỉ số của mảng bắt đầu từ 0.
Khi chỉ số vượt ra ngoài kích thước mảng, trình biên dịch vẫn biên
dịch thành công, tuy nhiên khi thực hiện chương trình sẽ có lỗi.
Kích thước của mảng phải là một hằng số.

