Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी भाषा में सरणी की सीमाएं क्या हैं?

Arrays एक प्रकार की डेटा संरचना है जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत कर सकती है।

डेटा के संग्रह को संग्रहीत करने के लिए एक सरणी का उपयोग किया जाता है, लेकिन एक सरणी को उसी प्रकार के चर के संग्रह के रूप में सोचना अक्सर अधिक उपयोगी होता है।

सीमाएं

किसी सरणी की सीमाओं को नीचे समझाया गया है -

  • एक सरणी जो बनती है वह सजातीय होगी। यानी, एक पूर्णांक सरणी में केवल पूर्णांक मान संग्रहीत किए जा सकते हैं, जबकि एक फ्लोट सरणी में केवल फ़्लोटिंग मान और वर्ण सरणी में केवल वर्ण हो सकते हैं। इस प्रकार, किसी भी सरणी में दो डेटा प्रकारों के मान नहीं हो सकते हैं।

  • एक सरणी घोषित करते समय, एक सरणी का आकार देना अनिवार्य है, और आकार स्थिर होना चाहिए। इस प्रकार, स्मृति की या तो कमी या अपव्यय होता है।

  • किसी सरणी में तत्वों को सम्मिलित करने या हटाने के लिए स्थानांतरण आवश्यक है।

  • एक सरणी सीमाओं की जांच नहीं करती है:सी भाषा में, हम जांच नहीं सकते हैं कि सरणी में दर्ज मान उस सरणी के आकार से अधिक हैं या नहीं।

  • सबस्क्रिप्ट के साथ दर्ज किया गया डेटा, सरणी के आकार से अधिक है और इसे सरणी के बाहर रखा जाएगा। आम तौर पर, डेटा या प्रोग्राम के शीर्ष पर ही।

  • इससे अप्रत्याशित परिणाम सामने आएंगे, कम से कम कहने के लिए। साथ ही, प्रोग्रामर को सरणी आकार से आगे जाने की चेतावनी देने के लिए कोई त्रुटि संदेश नहीं होगा। कुछ मामलों में, प्रोग्राम हैंग हो सकता है।

इस प्रकार, निम्नलिखित कार्यक्रम अवांछित परिणाम दे सकता है -

int a[10],i;
for(i=0;i<=20;i++)
a[i]=i;

उदाहरण

दो सरणियों का योग प्रदर्शित करने के लिए सी प्रोग्राम निम्नलिखित है -

#include<stdio.h>
void main(){
   //Declaring array with compile time initialization//
   int array1[5],array2[5],sum[5];
   //Declaring variables//
   int i;
   //Printing O/p using for loop//
   printf("Enter the values of array1 :\n");
   for(i=0;i<5;i++){
      printf("array1[%d] : \n",i);
      scanf("%d",&array1[i]);
   }
   printf("Enter the values of array2 :\n");
   for(i=0;i<5;i++){
      printf("array2[%d] :\n",i);
      scanf("%d",&array2[i]);
   }
   printf("Elements in the sum of array1 and array2 are:\n ");
   for(i=0;i<5;i++){
      sum[i]=array1[i]+array2[i];
      printf("%d ",sum[i]);
   }
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Enter the values of array1 :
array1[0] :2
array1[1] :3
array1[2] :1
array1[3] :2
array1[4] :3
Enter the values of array2 :
array2[0] :4
array2[1] :5
array2[2] :3
array2[3] :2
array2[4] :1
Elements in the sum of array1 and array2 are: 6 8 4 4 4

  1. सी भाषा में कतार में सम्मिलित करने वाले तत्व क्या हैं?

    डेटा संरचना संरचित तरीके से व्यवस्थित डेटा का संग्रह है। इसे नीचे बताए अनुसार दो प्रकारों में बांटा गया है - रैखिक डेटा संरचना - डेटा को एक रेखीय तरीके से व्यवस्थित किया जाता है। उदाहरण के लिए, सरणियाँ, संरचनाएँ, ढेर, कतारें, लिंक्ड सूचियाँ। गैर-रेखीय डेटा संरचना - डेटा को एक श्रेणीबद्ध तरीके

  1. C लैंग्वेज में शिफ्ट ऑपरेशंस क्या हैं?

    समस्या C भाषा का उपयोग करके किसी संख्या के बाएँ, दाएँ पाली और पूरक को दिखाने का सरल कार्यक्रम क्या है? समाधान बायां शिफ़्ट यदि किसी चर के मान को एक बार बाएँ-शिफ्ट किया जाता है, तो उसका मान दुगना हो जाता है। उदाहरण के लिए, a =10, फिर a<<1 =20 राइट शिफ्ट यदि किसी चर का मान एक बार दायाँ-शिफ्ट किय

  1. C भाषा में विभिन्न खोज तकनीकें क्या हैं?

    खोज तकनीक का तात्पर्य तत्वों की सूची के बीच एक प्रमुख तत्व को खोजने से है। यदि दिया गया तत्व सूची में मौजूद है, तो खोज प्रक्रिया को सफल कहा जाता है। यदि दिया गया तत्व सूची में मौजूद नहीं है, तो खोज प्रक्रिया को असफल कहा जाता है। C भाषा दो प्रकार की खोज तकनीक प्रदान करती है। वे इस प्रकार हैं