“हेल्लो दोस्तों! इस पोस्ट में हम ‘C प्रोग्रामिंग’ में Use होने वाले Array, प्रकार (1-D and 2-D Arrays), उपयोग और उदाहरण के बारे में पढ़ेंगे। तो आइए, इसे समझते हैं।”
Array क्या है? (What is an array?)
Array एक प्रकार की डेटा संरचना (data structure) है जो एक ही प्रकार के कई values को एक ही नाम के Data Type में store करने के लिए किया जाता है। यह प्रोग्रामिंग में बहुत उपयोगी होता है जब हमें कई Values को store करने के लिए किया जाता है। जैसे कि छात्रों के नाम या किसी कक्षा के छात्रों के अंक। यह हमें एक ही नाम का उपयोग करके उन सभी तत्वों को एक्सेस करने की सुविधा देता है। Array में index) होता है जो हमें उस value तक पहुंचने की अनुमति देता है। index हमेशा 0 से शुरू होता है।
Example of Array
int x[5] = {1, 6, 9, 3, 4};
Advantages – Array के लाभ
- Indexed Collection of Data:
- Array में डेटा को एक sequence में store किया जाता है, जहाँ हर value का एक index होता है। इस index की मदद से किसी भी तत्व को आसानी से एक्सेस किया जा सकता है।
- समय की बचत (Time Efficiency):
- Array का उपयोग करने से समय की बचत होती है क्योंकि प्रत्येक value एक ही प्रकार के डेटा प्रकार के तहत store होता है, और सीधी indexing के कारण एक्सेस करना तेज़ होता है।
- Capability to Store Multiple Values:
- Array एक ही नाम के तहत एक ही प्रकार के कई value को store करने की सुविधा प्रदान करता है, जिससे कोड में अनावश्यक variables की आवश्यकता नहीं होती।
- Static Memory Allocation
- Array में Static Memory Allocation होता है, यानी Memory पहले से ही निश्चित की जाती है। यह Program को सरल बनाता है और अनावश्यक memory उपयोग को कम करने में सहायक होता है।
- सरल डेटा प्रबंधन (Easy Data Management):
- एक ही नाम के तहत डेटा को store करने की वजह से डेटा को आसानी से Managed किया जा सकता है, विशेष रूप से Loops का उपयोग करके डेटा के साथ संचालन किया जा सकता है।
Disadvantages -Array के नुकसान
- स्थिर आकार (Fixed Size):
- Array का Size Declaration के समय निर्धारित किया जाता है और इसे Run Time में बदला नहीं जा सकता। यदि अधिक Data की आवश्यकता होती है, तो Array का आकार बढ़ाया नहीं जा सकता और Memory व्यर्थ हो सकती है।
- एक ही प्रकार का डेटा संग्रहीत करने की बाध्यता (Only Stores Same Data Type):
- Array में केवल एक ही प्रकार के डेटा को संग्रहीत किया जा सकता है। विभिन्न प्रकार के डेटा संग्रहीत करने के लिए अन्य डेटा संरचनाओं (जैसे structure) का उपयोग करना पड़ता है।
- मेमोरी की बर्बादी (Wastage of Memory):
- यदि Array का आकार बड़ा चुन लिया गया है और उसमें सभी Elements का उपयोग नहीं हो रहा है, तो मेमोरी बेकार हो जाती है।
- सीमित कार्यक्षमता (Limited Functionality):
- Array में insertion और deletion जैसी क्रियाओं को लागू करना जटिल हो सकता है। इन कार्यों के लिए Array का अन्य डेटा संरचनाओं जैसे लिंक्ड लिस्ट (Linked List) से तुलना में कम लचीलापन होता है।
- रनटाइम में आकार नहीं बदलता (Cannot Resize at Runtime):
- Array का आकार run time के दौरान नहीं बदला जा सकता है। अगर अधिक डेटा जोड़ना हो तो नया Array बनाना पड़ता है, जो मेमोरी और प्रोसेसिंग में समय व्यय करता है।
Types of Array
C प्रोग्रामिंग में Arrays के विभिन्न प्रकार होते हैं, जिनका उपयोग डेटा को व्यवस्थित तरीके से संग्रहीत और एक्सेस करने के लिए किया जाता है। मुख्य रूप से, Arrays को 3 प्रकारों में Divide गया है
- एक-आयामी अरे (One-Dimensional Array)
- दो-आयामी अरे (Two-Dimensional Array)
- मल्टी-डायमेंशनल अरे (Multi-Dimensional Array)
1. एक-आयामी अरे (One-Dimensional Array)
एक-आयामी अरे (1-D Array) एक ऐसी array है जिसमें केवल एक आयाम होता है और इसे एक लाइन में संग्रहीत किया जाता है। इसे एक सूची (list) के रूप में भी समझा जा सकता है।
Example:-(1-D Array)
Output:-
#include <stdio.h>
int main() {
int x1[3] = {5, 14, 41};
printf("One-Dimensional Array elements:\n");
for (int i = 1; i <=3; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
Output:-
One-Dimensional Array elements:
1 11 21 31 41
इस उदाहरण में, numbers
एक 1-D Array है जिसमें 5 integers संग्रहीत किए गए हैं। for
लूप का उपयोग करके array के सभी तत्वों को प्रदर्शित किया गया है।
2. दो-आयामी अरे (Two-Dimensional Array)
दो-आयामी अरे (2-D Array) को आमतौर पर टेबल या मैट्रिक्स की तरह समझा जा सकता है, जिसमें rows और columns होते हैं। यह array को दो आयामों में संग्रहीत करता है।
Example:-(2-D Array)
#include <stdio.h>
int main() {
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
printf("Two-Dimensional Array elements:\n");
for (int i = 1; i <=3; i++) {
for (int j = 1; j <=3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
Output:-
Two-Dimensional Array elements:
1 2 3
4 5 6
7 8 9
इस उदाहरण में, matrix
एक 2-D Array है जिसमें 3×3 का एक मैट्रिक्स संग्रहीत किया गया है। for
लूप का उपयोग करके rows और columns को प्रदर्शित किया गया है।
3. मल्टी-डायमेंशनल अरे (Multi-Dimensional Array)
मल्टी-डायमेंशनल अरे (Multi-Dimensional Array) एक ऐसा array है जिसमें दो या उससे अधिक dimension होते हैं। इसका उपयोग जटिल data structure को store करने के लिए किया जाता है।
उदाहरण (3-D Array):
#include <stdio.h>
int main() {
int array3D[2][2][3] = {
{
{1, 2, 3},
{4, 5, 6}
},
{
{7, 8, 9},
{10, 11, 12}
}
};
printf("Three-Dimensional Array elements:\n");
for (int i = 1; i <=2; i++) {
for (int j = 1; j <=2; j++) {
for (int k = 1; k <=3; k++) {
printf("array3D[%d][%d][%d] = %d\n", i, j, k, array3D[i][j][k]);
}
}
}
return 0;
}
Output:-
Three-Dimensional Array elements:
array3D[0][0][0] = 1
array3D[0][0][1] = 2
array3D[0][0][2] = 3
array3D[0][1][0] = 4
array3D[0][1][1] = 5
array3D[0][1][2] = 6
array3D[1][0][0] = 7
array3D[1][0][1] = 8
array3D[1][0][2] = 9
array3D[1][1][0] = 10
array3D[1][1][1] = 11
array3D[1][1][2] = 12
इस उदाहरण में, array3D
एक 3-D Array है जिसमें 2 blocks हैं, प्रत्येक में 2 rows और प्रत्येक row में 3 columns हैं।
सारांश:
- 1-D Array: जो एक List के रूप में store होती है।
- 2-D Array: जो टेबल या मैट्रिक्स की तरह Store होती है।
Array का उपयोग सरल और प्रभावी है, विशेष रूप से जब डेटा का एक ही प्रकार और निश्चित संख्या में Manage करना हो। लेकिन इसके Static Size और सीमित कार्यक्षमता के कारण बड़े या अनिश्चित डेटा संग्रहों के लिए इसे उपयोग करना हमेशा व्यावहारिक नहीं होता। हर प्रकार का array विभिन्न उपयोगों के लिए उपयुक्त होता है, और इन्हें प्रोग्रामिंग में आवश्यकतानुसार उपयोग किया जाता है।