Arrays in C++
Array क्या है?
Array एक ही type की कई values को एक नामित block में रखता है, index से पहुँचा जाता है। m1, m2, m3, m4, m5 के बजाय, आप int marks[5]; लिखते हैं और marks[0] से marks[4] इस्तेमाल करते हैं।
Declare और initialise करना
int a[5]; // paanch ints, uninitialised
int b[5] = {1, 2, 3, 4, 5}; // values ke saath
int c[5] = {1, 2}; // baaki 0 ho jaate hain
int d[] = {10, 20, 30}; // size 3 samajh liya jaata haiElements access करना
Indexes 0 से size − 1 तक चलते हैं। पहला a[0] है; 5-element array का आख़िरी a[4] है।
int b[5] = {1, 2, 3, 4, 5};
cout << b[0] << " " << b[4] << "\n"; // 1 5
b[2] = 99; // element badleinArray पर loop
int b[5] = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < 5; i++) sum += b[i];
cout << "Sum = " << sum << "\n";
for (int x : b) cout << x << " "; // range-based for| Step | i ki value | Condition | Kya hua | i ab |
|---|---|---|---|---|
| 1 | 0 | 0 < 5 → true | loop body chalta hai | i → 1 |
| 2 | 1 | 1 < 5 → true | loop body chalta hai | i → 2 |
| 3 | 2 | 2 < 5 → true | loop body chalta hai | i → 3 |
| 4 | 3 | 3 < 5 → true | loop body chalta hai | i → 4 |
| 5 | 4 | 4 < 5 → true | loop body chalta hai | i → 5 |
| 6 | 5 | 5 < 5 → false | Condition false — loop yahin ruk gaya (STOP) | — |
Sum = 15
1 2 3 4 5
2D arrays
2D array दो indexes वाला grid है — row और column:
int grid[2][3] = {{1, 2, 3}, {4, 5, 6}};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) cout << grid[i][j] << " ";
cout << "\n";
}1 2 3
4 5 6
std::vector पर एक नोट
Built-in arrays का size स्थिर होता है और वे अपनी लंबाई नहीं जानते। अधिकांश असली code के लिए, C++ programmers std::vector पसंद करते हैं, जो ज़रूरत अनुसार बढ़ता है और अपना .size() जानता है। vector lesson देखें।
Basics समझने को arrays सीखें, पर जब आप वाकई programs बनाएँ तब std::vector की ओर बढ़ें।
आम गलतियाँ
- Bounds के बाहर जाना — 5-element array पर
a[5]इस्तेमाल करना। - यह मानना कि array function के अंदर अपनी लंबाई जानता है (नहीं जानता)।
- size के साथ
<के बजाय<=से loop करना। - यह भूलना कि uninitialised array elements garbage रखते हैं।
पाँच numbers array में पढ़ें, फिर सबसे बड़ा और औसत print करें। फिर एक 3×3 grid बनाएँ और उसका diagonal print करें (grid[0][0], grid[1][1], grid[2][2])।
सारांश
- Array कई same-type values रखता है, 0 से index द्वारा access।
- Braces से initialise करें; छूटी values 0 हो जाती हैं।
- Classic
forया range-based for से loop करें। - 2D arrays rows और columns के लिए दो indexes इस्तेमाल करते हैं।
- असली programs के लिए
std::vectorपसंद करें — यह सुरक्षित और resizable है।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
C++ में array क्या है?
int marks[5]; पाँच integers रखता है, marks[0] से marks[4] से पहुँचा जाता है। इसका size declare करते समय तय हो जाता है।C++ में array कैसे declare और initialise करते हैं?
int a[5];, और साथ ही braces से initialise कर सकते हैं, जैसे int a[5] = {1, 2, 3, 4, 5};। अगर आप size से कम values दें, बचे elements zero हो जाते हैं।C++ में array indexes 0 से क्यों शुरू होते हैं?
a[0] पहला item है और size n के array का आख़िरी item a[n-1] है।C++ में array और vector में क्या अंतर है?
std::vector run time पर बढ़-घट सकता है, .size() से अपना size जानता है, और आमतौर पर ज़्यादा सुरक्षित तथा सुविधाजनक है, इसीलिए आधुनिक C++ अक्सर इसे पसंद करता है।