Mảng toàn cục C++

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

Mảng toàn cục C++

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++




1
20

1
21

1
22

1
23
1
24
1
25

 

1
26

1
27
1
0

1
1

1
2
1
3
1
27
1
5

 

1
2____07

1
2
1
27
1
200

_______02____1202

 

1
2____1204

 

1
2
1
206
1
207

1
208

đầ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++




1
20

1
210

1
22

1
23
1
24
1
25

 

1
215

1
27
1
0

1
1

1
2
1
3
1
27
1
222

 

_______02____1224

1
2
1
27
1
200

_______02____1202

 

1
2____1204

 

1
2
1
206
1
207

1
208

Java




1
236

1
210

1
238
1
239

 

________ 1240 ________ 1241

 

1
215

________ 1243 ________ 1244 ________ 1245 ________ 1246

1
1

1
2____127
1
250
1
251
1
252

1
2

_______02____1224

1
2____127
1
258

1
2____1260
1
261
1
262
1
251
1
252

1
2

1
2____1267
1
261
1
269

1
208

1
208

 

1
272

Python3




1
273

1
274

1
275

________ 1276 ________ 1277 ________ 1278

1
279

1
00

1
01
1
277
1
03

1
260
1
261____006
1
277
1
251

_______009

1
10____1261
1
12

 

1
13

C#




1
14

1
210

1
23
1
17

1
240
1
19

1
1

 

1
215

________ 1243 ________ 1244 ________ 1245 ________ 025

1
1

1
2____127
1
29

1
2

_______02____1224

1
2____127
1
35

_______02____1202

1
2

1
2____040

1
208

1
208

 

1
43

Javascript




1
44

 

1
45

1
210

1
47
1
29

 

1
224

1
47
1
51

1
202

 

1
53

 

1
272

 

1
55

đầ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++




1
20

1
57

1
22

1
23
1
24
1
25

 

1
62

1
3
1
27
1
5

 

1
66

1
27
1
200

 

1
26

1
27
1
0

1
1

_______02____1202

1
2____1204

 

1
2
1
206
1
207

1
208

Java




1
236

1
57

1
238
1
239

1
85

1
240
1
19

1
1

 

 

1
26

________ 1243 ________ 1244 ________ 1245 ________ 1246

1
1

1
2____062

1
2____127
1
250
1
251
1
252

1
2002

1
2____066

1
2____127
1
2007

1
2____1260
1
261
1
262
1
251
1
252

1
2

1
2____1267
1
261
1
269

1
2002

1
208

1
208

1
2022

Python3




1
2023

1
2024

 

1
2025

________ 1276 ________ 1277 ________ 12028

 

1
2029

1
01
1
277
1
03

 

1
2033

1
260
1
261____006
1
277
1
251

_______009

1
10____1261
1
12

 

1
13

C#




1
14

1
57

1
23
1
17

1
85

1
240
1
19

1
1

 

 

1
26

________ 1243 ________ 1244 ________ 1245 ________ 025

1
1

1
2____062

1
2____127
1
29

1
2002

1
2____066

1
2____127
1
2068

_______02____1202

1
2

1
2____040

1
2002

1
208

1
208

1
2077

Javascript




1
44

 

1
45

1
57

 

1
62

1
2082

 

1
66

________ 12084 ________ 12085 ________ 12086

 

1
26

1
202

1
53

 

1
2090

1
55

đầ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.

Mảng toàn cục trong C là gì?

Giống như trường hợp biến vô hướng, chúng ta cũng có thể sử dụng mảng ngoài hoặc mảng toàn cục trong chương trình, i. e. , các mảng được định nghĩa bên ngoài bất kỳ hàm nào . Các mảng này có phạm vi toàn cầu. Vì vậy, chúng có thể được sử dụng ở bất cứ đâu trong chương trình. Chúng được tạo khi bắt đầu thực hiện chương trình và tồn tại cho đến khi kết thúc chương trình.

Làm cách nào để khởi tạo một mảng trên toàn cầu trong C?

Trong C++, các biến toàn cục được khởi tạo giá trị (i. e. nội dung mảng sẽ được đặt thành 0). .
Kiểm tra nếu mảng được khởi tạo
Khởi tạo mảng nếu nó chưa được khởi tạo
Trả về mảng

Mảng toàn cầu là gì?

Mảng toàn cầu, hay GA, là thư viện do các nhà khoa học tại Phòng thí nghiệm quốc gia Tây Bắc Thái Bình Dương phát triển để tính toán song song . GA cung cấp một API thân thiện để lập trình bộ nhớ dùng chung trên các máy tính có bộ nhớ phân tán cho các mảng đa chiều.

Bạn có thể tạo một mảng toàn cầu không?

Mảng có thể được khai báo và khởi tạo 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.