सी . में सरणियों का परिचय

एक सरणी एक डेटा संरचना है जिसका उपयोग समान डेटा प्रकार की अनुक्रमिक वस्तुओं को संग्रहीत करने के लिए किया जाता है। अनुक्रम में किसी तत्व की स्थिति को सूचकांक कहा जाता है। इंडेक्स 0 से (n-1) तक शुरू होते हैं।

इस लेख में, आप सीखेंगे कि सी में सरणियों का उपयोग कैसे किया जाता है। यहां अधिकांश अवधारणाएं अधिकांश अन्य प्रोग्रामिंग भाषाओं में कट जाती हैं, इसलिए उन पर ध्यान देना सुनिश्चित करें।

सरणियों को परिभाषित करना

किसी सरणी को परिभाषित करने के लिए, उसके डेटा प्रकार को सरणी नाम और वर्ग कोष्ठक के बाद लिखें:

 int age[8];

वर्गाकार कोष्ठक के अंदर डेटा आइटम की अपेक्षित संख्या है जो सरणी को प्राप्त होगी। यदि आपको एक ही समय में दो सरणियों की घोषणा करने की आवश्यकता है, तो आप इसे नीचे के रूप में कर सकते हैं। यह उल्लेखनीय है कि उन्हें अलग से घोषित करना पसंदीदा तरीका है।

 int age[8], height[8];

नीचे के रूप में एक सरणी घोषित करना भी संभव है:

 int[8] age;

उपरोक्त सिंटैक्स का अर्थ यह होगा कि आयु int प्रकार की सरणी के लिए एक सूचक है। यद्यपि आप "पॉइंटर सिंटैक्स" का उपयोग कर सकते हैं, पहले वाले को प्राथमिकता दी जाती है।

संबंधित: पायथन, सी ++, जावास्क्रिप्ट और सी का उपयोग करके किसी संख्या की गुणन तालिका कैसे प्रदर्शित करें?

कभी-कभी, आप यह नहीं जान सकते हैं कि आप अपने सरणी में कितने तत्वों की अपेक्षा करते हैं। ऐसे मामले में, आपको तत्वों की संख्या के बिना सरणी घोषित करनी होगी। नीचे दिया गया उदाहरण देखें:

 int age[];

सरणियों पर संचालन

किसी सरणी तत्व को संदर्भित करने के लिए, वर्ग कोष्ठक में उसके सूचकांक के बाद सरणी नाम लिखें (उदाहरण के लिए उम्र [5] )। आप वर्ग कोष्ठक के अंदर चर का भी उपयोग कर सकते हैं:

 age[x+y]

आपको यह सुनिश्चित करने की आवश्यकता है कि इन चरों की गणना 0 से (n-1) की सीमा में है। अन्यथा, आपको एक संकलन त्रुटि मिलेगी।

प्रारंभ

ऐरे तत्वों को घोषणा पर या बाद में कार्यक्रम में दिया जा सकता है। इस क्रिया को आरंभीकरण के रूप में जाना जाता है क्योंकि सरणी में शुरू में शून्य मान होते हैं।

नीचे उदाहरण देखें। यह किसी तत्व के मान और उसके सूचकांक को सरणी में प्रिंट करता है। लाइन 5 पूर्णांक सरणी को प्रारंभ करने के लिए प्रारंभकर्ता सूची का उपयोग करता है।

 #include <stdio.h>
int main(void) {
printf("%s%11s
", "Element", "Value");
int n[4] = {1, 4, 9, 16};
// output array elements in tabular format
for (size_t i = 0; i < 4; ++i) {
printf("%5u%10d
", i, n[i]);
}
}

आउटपुट:

 Element Value
0 1
1 4
2 9
3 16

स्ट्रिंग्स को स्टोर करने के लिए एरेज़ का उपयोग करना

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

 char fruit[]= ['b', 'e', 'r', 'r', 'y', ' ' ];

ध्यान दें कि चार डेटा प्रकार का उपयोग किया जाता है। एक स्ट्रिंग अक्षर में वास्तव में अलग-अलग वर्ण होते हैं, और यही कारण है कि आप char देखते हैं।

संबंधित: C++ प्रोग्रामिंग कैसे सीखें: आरंभ करने के लिए 6 साइटें

दिखाया गया ऐरे एस्केप सीक्वेंस ( ) के साथ समाप्त होता है। यह एक स्ट्रिंग-टर्मिनेशन कैरेक्टर है जिसे नल कैरेक्टर कहा जाता है। किसी सरणी सूची को प्रारंभ करते समय आपको इसे हमेशा शामिल करना चाहिए।

वर्ण सरणी प्रारंभ करने का वास्तव में एक आसान तरीका है। हमने पहले वाला तरीका दिखाया ताकि आप जान सकें कि एक कैरेक्टर ऐरे में हमेशा एक स्पेशल एंडिंग कैरेक्टर ( ) होता है। अंतिम तत्व ( ) को भूलकर, शुरुआती प्रोग्रामर के लिए सरणी का आकार एक से कम होना एक सामान्य त्रुटि है।

 char string1[5] = "Code";

मान लीजिए कि आपको उपयोगकर्ता इनपुट प्राप्त करने और इसे एक सरणी में संग्रहीत करने की आवश्यकता है। आप इसके लिए मानक पुस्तकालय फ़ंक्शन स्कैनफ का उपयोग कर सकते हैं।

हालाँकि, आपको उन वर्णों की संख्या निर्दिष्ट करने की आवश्यकता है, जिनकी फ़ंक्शन को अपेक्षा करनी चाहिए। ऐसा इसलिए है क्योंकि स्कैनफ सरणी आकार की जांच नहीं करता है और सरणी से परे पते पर डेटा लिख ​​सकता है, जिससे बफर ओवरफ़्लो हो सकता है।

अधिकतम अपेक्षित इनपुट को परिभाषित करने के लिए %s रूपांतरण विनिर्देशक का उपयोग करें। स्कैनफ़ फ़ंक्शन स्पेस, टैब, न्यूलाइन, या एंड-ऑफ़-फ़ाइल इंडिकेटर के सामने आने तक दर्ज किए गए सभी वर्णों को पढ़ेगा।

अपने सी प्रोग्रामिंग को आगे बढ़ाना

सीखने के लिए आपके द्वारा उपयोग किए जाने वाले संसाधन उतने ही महत्वपूर्ण हैं जितना कि सीखने के लिए आपका उत्साह। अच्छे अभ्यास के बिना सीखना आपकी प्रोग्रामिंग यात्रा को चुनौतीपूर्ण बना देगा।

सी सीखने के लिए एक विशेष रूप से चुनौतीपूर्ण भाषा है क्योंकि यह वस्तु-उन्मुख नहीं है। सौभाग्य से, हमारे पास सी प्रोग्रामिंग में महारत हासिल करने में आपकी मदद करने के लिए बहुत सारे संसाधन हैं।