Mảng trong bất kỳ ngôn ngữ lập trình nào là tập hợp các mục dữ liệu tương tự được lưu trữ tại các vị trí bộ nhớ liền kề và các phần tử có thể được truy cập ngẫu nhiên bằng chỉ số mảng. Nó có thể được sử dụng để lưu trữ tập hợp các kiểu dữ liệu nguyên thủy như int, float, double, char, v.v. của bất kỳ kiểu cụ thể nào. Ví dụ, một mảng trong C/C++ có thể lưu trữ các kiểu dữ liệu dẫn xuất như cấu trúc, con trỏ, v.v. Dưới đây là đại diện của một mảng
Các mảng có thể được khai báo và khởi tạo trên toàn cục cũng như cục bộ (i. e. , trong phạm vi cụ thể của chương trình) trong chương trình. Dưới đây là các ví dụ để hiểu khái niệm này tốt hơn
chương trình 1. Dưới đây là chương trình C++ trong đó mảng 1D có kích thước 107 được khai báo cục bộ
C++
120
121
122
123 124 125
126
127 10
11
1213 127 15
12____07
12127 1200
_______02____1202
12____1204
121206 1207
1208
đầu ra
Giải trình. Trong chương trình trên, xảy ra lỗi lỗi phân đoạn khi mảng 1-D được khai báo cục bộ, sau đó giới hạn của kích thước mảng đó là 105. Không thể khai báo kích thước của mảng lớn hơn 105. Trong ví dụ này khai báo mảng có kích thước 107 nên đã xảy ra lỗi
chương trình 2. Dưới đây là chương trình khởi tạo mảng 1-D kích thước 105
C++
120
1210
122
123 124 125
1215
127 10
11
1213 127 1222
_______02____1224
12127 1200
_______02____1202
12____1204
121206 1207
1208
Java
1236
1210
1238 1239
________ 1240 ________ 1241
1215
________ 1243 ________ 1244 ________ 1245 ________ 1246
11
12____127 125012511252
12
_______02____1224
12____127 1258
12____12601261126212511252
12
12____126712611269
1208
1208
1272
Python3
1273
1274
1275
________ 1276 ________ 1277 ________ 1278
1279
100
1011277 103
12601261____0061277 1251
_______009110____1261112
113
C#
114
1210
123 117
1240 119
11
1215
________ 1243 ________ 1244 ________ 1245 ________ 025
11
12____127 129
12
_______02____1224
12____127 135
_______02____1202
12
12____040
1208
1208
143
Javascript
144
145
1210
147 129
1224
147 151
1202
153
1272
155
đầu ra. 1
Giải trình. Trong chương trình trên, việc biên dịch mã thành công và đầu ra là 1. Điều này là do mảng 1D có kích thước 105 được khởi tạo cục bộ và điều này hợp lệ
chương trình 3. Dưới đây là chương trình mà một mảng 1-D có kích thước 107 được khai báo trên toàn cầu
C++
120
157
122
123 124 125
162
13 127 15
166
127 1200
126
127 10
11
_______02____1202
12____1204
121206 1207
1208
Java
1236
157
1238 1239
185
1240 119
11
126
________ 1243 ________ 1244 ________ 1245 ________ 1246
11
12____062
12____127 125012511252
12002
12____066
12____127 12007
12____12601261126212511252
12
12____126712611269
12002
1208
1208
12022
Python3
12023
12024
12025
________ 1276 ________ 1277 ________ 12028
12029
1011277 103
12033
12601261____0061277 1251
_______009110____1261112
113
C#
114
157
123 117
185
1240 119
11
126
________ 1243 ________ 1244 ________ 1245 ________ 025
11
12____062
12____127 129
12002
12____066
12____127 12068
_______02____1202
12
12____040
12002
1208
1208
12077
Javascript
144
145
157
162
12082
166
________ 12084 ________ 12085 ________ 12086
126
1202
153
12090
155
đầu ra. 1
Giải trình. Trong đoạn mã trên, quá trình biên dịch thành công và đầu ra là 1. Điều này là do mảng 1-D có kích thước 107 được khai báo trên toàn cầu và điều này hợp lệ.
Ghi chú. Nếu một mảng 1-D có kích thước 108 được khai báo trên toàn cầu, thì lại xảy ra lỗi lỗi phân đoạn vì cũng có giới hạn cho việc khai báo toàn cục của mảng 1-D và nghĩa là, chỉ có thể khai báo một mảng 1-D.