Cú pháp:
<tên kiểu> <tên mảng>[số thành phần];
<tên kiểu> <tên mảng>[số thành phần]={ dãy giá trị }; <tên kiểu> <tên mảng>[ ] = { dãy giá trị };
- Tên kiểu là kiểu dữ liệu của các thành phần, các thành phần này có kiểu giống nhau. Thỉnh thoảng ta cũng gọi các thành phần là phần tử.
- Cách khai báo trên giống như khai báo tên biến bình thường nhưng thêm số thành phần trong mảng giữa cặp dấu ngoặc vuông [] còn được gọi là kích thước của mảng. Mỗi tên mảng là một biến và để phân biệt với các biến thông thường ta còn gọi là biến mảng.
- Một mảng dữ liệu được lưu trong bộ nhớ bởi dãy các ô liên tiếp nhau. Số lượng ô bằng với số thành phần của mảng và độ dài (byte) của mỗi ô đủ để chứa thông tin của mỗi thành phần. Ô đầu tiên được đánh thứ tự bởi 0, ô tiếp theo bởi 1, và tiếp tục cho đến hết. Như vậy nếu mảng có n thành phần thì ô cuối cùng trong mảng sẽ được đánh số là n – 1.
- Dạng khai báo thứ 2 cho phép khởi tạo mảng bởi dãy giá trị trong cặp dấu {}, mỗi giá trị cách nhau bởi dấu phảy (,), các giá trị này sẽ được gán lần lượt cho các phần tử của mảng bắt đầu từ phần tử thứ 0 cho đến hết dãy. Số giá trị có thể bé hơn số phần tử. Các phần tử mảng chưa có giá trị sẽ không được xác định cho đến khi trong chương trình nó được gán một giá trị nào đó.
- Dạng khai báo thứ 3 cho phép vắng mặt số phần tử, trường hợp này số phần tử được xác định bởi số giá trị của dãy khởi tạo. Do đó nếu vắng mặt cả dãy khởi tạo là không được phép (chẳng hạn khai báo int a[] là sai).
float a[3], b[3];
Khai báo 3 phân số a, b, c; trong đó a = 1/3 và b = 3/5:
int a[2] = {1, 3}, b[2] = {3, 5}, c[2];
ở đây ta ngầm qui ước thành phần đầu tiên (số thứ tự 0) là tử và thành phần thứ hai (số thứ tự 1) là mẫu của phân số.
Khai báo mảng L chứa được tối đa 100 số nguyên dài:
long L[100];
Khai báo mảng dong (dòng), mỗi dòng chứa được tối đa 80 kí tự:
char dong[80];
Khai báo dãy Data chứa được 5 số thực độ chính xác gấp đôi:
double Data[] = { 0,0,0,0,0 }; //Khởi tạo tạm
thời bằng 0