1. परिचय
सी भाषामा «दुई-आयामी एरे» धेरै प्रोग्रामिङ अवस्थाहरूमा प्रयोग हुने महत्वपूर्ण डाटा संरचना हो। सरल एक-आयामी एरेबाट कठिन, जटिल डाटाको व्यवस्थापन र सञ्चालनलाई सजिलो बनाउँछ। यो लेखमा, दुई-आयामी एरेको आधारभूत कुराबाट प्रयोगसम्मलाई विस्तारमा व्याख्या गर्दै, प्रोग्रामिङका नयाँबाट मध्य स्तरसम्मका व्यक्तिहरूको समझलाई गहिरो बनाउने लक्ष्य राखिएको छ।
2. 2-आयामी एरे के हो
2.1 मूल अवधारणा
2-आयामी एरे पङ्क्ति र स्तम्भका दुई सूचकांक प्रयोग गरेर डेटा भण्डारण गर्ने एरे हो। C भाषामा, तलको रूपमा परिभाषित गरिन्छ।
डेटा_प्रकार एरे_नाम[पङ्क्ति_संख्या][स्तम्भ_संख्या];
उदाहरणका लागि, int matrix[3][4];
घोषणा गरेमा, 3 पङ्क्ति 4 स्तम्भको पूर्णांक प्रकारको 2-आयामी एरे सिर्जना हुन्छ। यो एरेलाई 1-आयामी एरेहरू धेरै सङ्ग्रहित भएको रूपमा सोच्दा बुझ्न सजिलो हुन्छ।
2.2 2-आयामी एरेको उपयोग
2-आयामी एरे RPG को नक्सा वा तालिका स्वरूपको डेटा जस्ता, उभिएर र तेर्सिएर डेटा क्रमबद्ध हुने स्वरूपलाई व्यवस्थापन गर्न उपयुक्त हुन्छ। साथै, छविको पिक्सेल जानकारी वा खेलको बोर्डलाई ह्यान्डल गर्दा पनि प्रायः प्रयोग गरिन्छ। 2-आयामी एरे प्रयोग गर्दा डेटा व्यवस्थापन प्रभावकारी हुन्छ, र प्रोग्रामको पठनीयता पनि सुधारिन्छ।
3. 2‑आयामी एरेको घोषणा र आरम्भ
3.1 घोषणा गर्ने तरिका
2‑आयामी एरे घोषणा गर्दा प्रयोग हुने आधारभूत वाक्य संरचना तलको जस्तै हो।
int matrix[3][4];
यो 3 पङ्क्ति र 4 स्तम्भको पूर्णांक प्रकारको एरे घोषणा गर्दछ। प्रत्येक तत्व प्रारम्भिक मान बिना हुन्छ, त्यसैले सावधान रहनु आवश्यक छ।
3.2 आरम्भ गर्ने तरिका
घोषणासँगै 2‑आयामी एरेमा प्रारम्भिक मान सेट गर्न पनि सम्भव छ।
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
यो कोडमा, matrix
एरे 2 पङ्क्ति 3 स्तम्भको एरेको रूपमा सिर्जना हुन्छ, र प्रत्येक तत्वमा निर्दिष्ट मानहरू असाइन गरिन्छ। साथै, तत्व संख्या छुट्याएर आरम्भ गर्न पनि सम्भव छ।
int matrix[][3] = {{1, 2, 3}, {4, 5, 6}};
यस अवस्थामा, कम्पाइलरले स्वचालित रूपमा पङ्क्तिको संख्या निर्धारण गरी एरेलाई आरम्भ गर्दछ।
4. 2‑आयामिक एरेको तत्वहरूमा पहुँच
4.1 तत्वहरू पहुँच गर्ने तरिका
2‑आयामिक एरेको विशिष्ट तत्वमा पहुँच गर्न, पङ्क्ति र स्तम्भको अनुक्रमणिका निर्दिष्ट गर्नुहोस्।
matrix[1][2] = 10;
यस उदाहरणमा、matrix
को दोस्रो पङ्क्ति तेस्रो स्तम्भको तत्वमा मान10
लाई असाइन गरिन्छ। अनुक्रमणिका 0 बाट सुरु हुने कारणले、matrix[1][2]
एरेको दोस्रो पङ्क्ति तेस्रो स्तम्भलाई जनाउँछ।
4.2 लूप प्रयोग गरेर पहुँच
2‑आयामिक एरेका सबै तत्वहरूमा पहुँच गर्न, दोहोरोfor
लूप प्रयोग गरिन्छ।
for (int i = 0; i < पङ्क्ति संख्या; i++) {
for (int j = 0; j < स्तम्भ संख्या; j++) {
printf("%d ", matrix[i][j]);
}
printf("n");
}
यो कोडले 2‑आयामिक एरेका सबै तत्वहरूलाई एक‑एक गरी प्रक्रिया गर्छ र तिनीहरूको सामग्री देखाउँछ। पहिलो लूप पङ्क्तिलाई, दोस्रो लूप स्तम्भलाई नियन्त्रण गर्छ।
5. द्वि-आयामी एरेको प्रयोग उदाहरण
5.1 आधारभूत उदाहरण
तलको उदाहरणले २ जना विद्यार्थीहरूको ३ विषयका अंकहरूलाई द्वि-आयामी एरेमा व्यवस्थापन गरी, प्रत्येक अंकलाई प्रदर्शन गर्ने कार्यक्रम हो।
int scores[2][3] = {{72, 80, 90}, {65, 75, 85}};
for (int i = 0; i < 2; i++) {
printf("विद्यार्थी%dको अंक:n", i + 1);
for (int j = 0; j < 3; j++) {
printf("विषय%d: %d अंकn", j + 1, scores[i][j]);
}
}
यस कार्यक्रमले द्वि-आयामी एरे प्रयोग गरी विद्यार्थीहरूको अंकहरूलाई व्यवस्थापन गर्दछ, र लूप प्रयोग गरी प्रत्येक तत्वलाई आउटपुट गर्दछ।
5.2 गतिशील द्वि-आयामी एरेको आवंटन
गतिशील मेमोरी आवंटन प्रयोग गरी द्वि-आयामी एरे बनाउने विधि पनि छ। तलको उदाहरण हेर्नुहोस्।
int (*matrix)[3] = malloc(sizeof(int) * rowCount * 3);
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < 3; j++) {
matrix[i][j] = i * 3 + j;
}
}
free(matrix);
यहाँ, malloc
प्रयोग गरी मेमोरीलाई गतिशील रूपमा आवंटन गरिएको छ। यस विधिमा, द्वि-आयामी एरेको आकारलाई कार्यसम्पादन समयमा निर्धारण गर्न सकिन्छ। मेमोरीको प्रयोग समाप्त भएपछि, अनिवार्य रूपमा free
प्रयोग गरी मेमोरीलाई मुक्त गर्नुहोस्।
6. द्वि-आयामी एरेको प्रयोग
6.1 बहु-आयामी एरे
यदि तपाईं द्वि-आयामी एरेको अवधारणा अझ विस्तार गर्नुहुन्छ भने, तीन आयाम वा सोभन्दा बढी बहु-आयामी एरेहरूलाई ह्यान्डल गर्न सक्नुहुन्छ। उदाहरणका लागि, 3‑आयामी एरेलाई तलको रूपमा परिभाषित गरिन्छ।
int array[2][3][4];
यो एरेमा 2×3×4 तत्वहरू छन्, र तीनवटा सूचकांकहरूद्वारा तत्वहरू पहुँच गर्न सकिन्छ। बहु-आयामी एरेहरू प्रयोग गरेर, अधिक जटिल डेटा संरचनाहरूलाई प्रभावकारी रूपमा व्यवस्थापन गर्न सकिन्छ।
6.2 प्रभावकारी डेटा प्रक्रिया
द्वि-आयामी एरेहरू डेटा भण्डारण र सञ्चालनलाई प्रभावकारी रूपमा गर्नको लागि एक शक्तिशाली उपकरण हो। उदाहरणका लागि, तालिका स्वरूपको डेटा द्वि-आयामी एरेमा राखेर, पङ्क्ति वा स्तम्भ अनुसार डेटा प्रक्रिया गर्दा, डेटा विश्लेषण र सांख्यिकीय प्रक्रिया द्रुत रूपमा गर्न सम्भव हुन्छ।
7. सारांश
दुई-आयामी एरे जटिल डेटा प्रभावकारी रूपमा व्यवस्थापन गर्नको लागि आधारभूत र शक्तिशाली डेटा संरचना हो। यस लेखमा, दुई-आयामी एरेको घोषणा र आरम्भ, तत्वहरूमा पहुँच, प्रयोगका उदाहरणहरू, साथै गतिशील मेमोरी आवंटन र बहु-आयामी एरेबारे पनि व्याख्या गरिएको छ। दुई-आयामी एरेको प्रयोग बुझेर, प्रोग्राममा प्रयोग गर्दा, अझ जटिल समस्याहरूलाई प्रभावकारी रूपमा समाधान गर्ने कौशल प्राप्त हुनेछ। अर्को चरणको रूपमा, पोइन्टरसँग संयोजन गरिएको दुई-आयामी एरेको सञ्चालन जस्ता थप अनुप्रयोगहरूमा चुनौती लिनुहोस्।