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

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.

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.

Chủ đề