सी सरणियाँ

एक सरणी को सन्निहित मेमोरी स्थानों पर संग्रहीत समान प्रकार के डेटा आइटम के संग्रह के रूप में परिभाषित किया गया है। Arrays C प्रोग्रामिंग भाषा में व्युत्पन्न डेटा प्रकार हैं जो आदिम प्रकार के डेटा जैसे कि INT, CHAR, DOUBLE, FLOAT, आदि को संग्रहीत कर सकते हैं, इसमें व्युत्पन्न डेटा प्रकारों के संग्रह को संग्रहीत करने की क्षमता भी है, जैसे पॉइंटर्स, स्ट्रक्चर, आदि यदि आपको समान तत्वों को स्टोर करना है तो सी सरणी फायदेमंद है। उदाहरण के लिए, यदि हम 6 विषयों में एक छात्र के निशान को संग्रहीत करना चाहते हैं, तो हमें अलग -अलग विषय में अंकों के लिए अलग -अलग चर को परिभाषित करने की आवश्यकता नहीं है। इसके बजाय, हम एक सरणी को परिभाषित कर सकते हैं जो प्रत्येक विषय में सन्निहित मेमोरी स्थानों पर निशान को संग्रहीत कर सकता है। सरणी का उपयोग करके, हम आसानी से तत्वों तक पहुंच सकते हैं। सरणी के तत्वों तक पहुंचने के लिए कोड की केवल कुछ पंक्तियों की आवश्यकता होती है।

एक सरणी के गुण

सरणी में निम्नलिखित गुण होते हैं। एक सरणी का प्रत्येक तत्व एक ही डेटा प्रकार का होता है और एक ही आकार का वहन करता है, अर्थात, paunaZ = 4 बाइट्स। सरणी के तत्वों को सन्निहित मेमोरी स्थानों पर संग्रहीत किया जाता है जहां पहला तत्व सबसे छोटी मेमोरी स्थान पर संग्रहीत किया जाता है। सरणी के तत्वों को बेतरतीब ढंग से एक्सेस किया जा सकता है क्योंकि हम दिए गए आधार पते और डेटा तत्व के आकार के साथ सरणी के प्रत्येक तत्व के पते की गणना कर सकते हैं।

सी सरणी का लाभ

1) कोड अनुकूलन: डेटा को एक्सेस करने के लिए कम कोड। 2) ट्रैवर्सिंग में आसानी: लूप के लिए उपयोग करके, हम आसानी से एक सरणी के तत्वों को पुनः प्राप्त कर सकते हैं। 3) छँटाई में आसानी: सरणी के तत्वों को क्रमबद्ध करने के लिए, हमें केवल कोड की कुछ पंक्तियों की आवश्यकता है। 4) रैंडम एक्सेस: हम किसी भी तत्व को सरणी का उपयोग करके बेतरतीब ढंग से एक्सेस कर सकते हैं।

सी सरणी का नुकसान

1) निश्चित आकार: जो भी आकार, हम सरणी की घोषणा के समय परिभाषित करते हैं, हम सीमा से अधिक नहीं हो सकते हैं। तो, यह आकार को गतिशील रूप से लिंक्डलिस्ट की तरह विकसित नहीं करता है जिसे हम बाद में सीखेंगे।

सी सरणी की घोषणा

हम निम्नलिखित तरीके से C भाषा में एक सरणी घोषित कर सकते हैं।

deTaRpzakar MtataMlaRDMUma[MtataMlaRepazma];

अब, आइए हम सरणी घोषित करने के लिए उदाहरण देखें।

paunaZ naiSaana[5];

यहां, INT डेटा_टाइप है, मार्क्स Array_name हैं, और 5 Array_size है।

सी सरणी का आरंभीकरण

एक सरणी को इनिशियलाइज़ करने का सबसे सरल तरीका प्रत्येक तत्व के सूचकांक का उपयोग करके है। हम सूचकांक का उपयोग करके सरणी के प्रत्येक तत्व को इनिशियलाइज़ कर सकते हैं। निम्नलिखित उदाहरण पर विचार करें।

naiSaana[0]=80;//pzaarMBa ka sarnai
naiSaana[1]=60;
naiSaana[2]=70;
naiSaana[3]=85;
naiSaana[4]=75;

C सरणी उदाहरण

उदाहरण

#EZstamaalakre<PsaTidiAayaAae.Pca>
paunaZ mauqya(){
paunaZ maIM=0;
paunaZ naiSaana[5];//oaaeSanaa ka sarnai
naiSaana[0]=80;//pzaarMBa ka sarnai
naiSaana[1]=60;
naiSaana[2]=70;
naiSaana[3]=85;
naiSaana[4]=75;
//jataMAmataeMsa ka sarnai
jaba(maIM=0;maIM<5;maIM++){
laiqaiyae("%paunaZ \n",naiSaana[maIM]);
}//AMta ka jaba kuMdlai
vaapasakre 0;
}

आउटपुट

80
60
70
85
75

सी सरणी: आरंभीकरण के साथ घोषणा

हम घोषणा के समय सी सरणी को इनिशियलाइज़ कर सकते हैं। आइए देखें कोड।

paunaZ naiSaana[5]={20,30,40,50,60};

ऐसे मामले में, आकार को परिभाषित करने की कोई आवश्यकता नहीं है। तो इसे निम्नलिखित कोड के रूप में भी लिखा जा सकता है।

paunaZ naiSaana[]={20,30,40,50,60};

चलो सी कार्यक्रम को सी में सरणी को घोषित करने और इनिशियलाइज़ करने के लिए देखें।

उदाहरण

#EZstamaalakre<PsaTidiAayaAae.Pca>
paunaZ mauqya(){
paunaZ maIM=0;
paunaZ naiSaana[5]={20,30,40,50,60};//oaaeSanaa AaIr pzaarMBa ka sarnai
//jataMAmataeMsa ka sarnai
jaba(maIM=0;maIM<5;maIM++){
laiqaiyae("%paunaZ \n",naiSaana[maIM]);
}
vaapasakre 0;
}

आउटपुट

20
30
40
50
60

C सरणी उदाहरण: एक सरणी छाँटना

निम्नलिखित कार्यक्रम में, हम आरोही क्रम में सरणी को सॉर्ट करने के लिए बबल सॉर्ट विधि का उपयोग कर रहे हैं।

उदाहरण

#EZstamaalakre<PsaTidiAayaAae.Pca>
qaalai mauqya ()
{
paunaZ maIM, jae,AsYaayai;
paunaZ P[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
jaba(maIM = 0; maIM<10; maIM++)
{
jaba(jae = maIM+1; jae<10; jae++)
{
Agar(P[jae] > P[maIM])
{
AsYaayai = P[maIM];
P[maIM] = P[jae];
P[jae] = AsYaayai;
}
}
}
laiqaiyae("CpaaEZ kzmabaoD tatva saucai ...\n");
jaba(maIM = 0; maIM<10; maIM++)
{
laiqaiyae("%paunaZ\n",P[maIM]);
}
}

सरणी का सबसे बड़ा और दूसरा सबसे बड़ा तत्व प्रिंट करने के लिए कार्यक्रम।

सरणी का सबसे बड़ा और दूसरा सबसे बड़ा तत्व प्रिंट करने के लिए कार्यक्रम।

#EZstamaalakre<PsaTidiAayaAae.Pca>
qaalai mauqya ()
{
paunaZ Aagamana[100],maIM,Pna,sabasaeRbad.a,emabaRsaMtahmaeja;
laiqaiyae("pzavaeSa krnaa Aakar ka sarnai?");
laijaiyae("%paunaZ",&Pna);
laiqaiyae("pzavaeSa krnaa tatvaaeM ka sarnai?");
jaba(maIM = 0; maIM<Pna; maIM++)
{
laijaiyae("%paunaZ",&Aagamana[maIM]);
}
sabasaeRbad.a = Aagamana[0];
emabaRsaMtahmaeja = Aagamana[1];
jaba(maIM=0;maIM<Pna;maIM++)
{
Agar(Aagamana[maIM]>sabasaeRbad.a)
{
emabaRsaMtahmaeja = sabasaeRbad.a;
sabasaeRbad.a = Aagamana[maIM];
}
nahitaae Agar (Aagamana[maIM]>emabaRsaMtahmaeja && Aagamana[maIM]!=sabasaeRbad.a)
{
emabaRsaMtahmaeja=Aagamana[maIM];
}
}
laiqaiyae("sabasae bad.a = %paunaZ, Dusara sabasae bad.a = %paunaZ",sabasaeRbad.a,emabaRsaMtahmaeja);

}

◀ पीछे अगला ▶