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

C भाषा में गैर-आरंभिक सरणी अभिगम की अवधारणा की व्याख्या करें

समस्या

सी भाषा में, क्या प्रोग्राम को निष्पादित किया जाता है, यदि हम एक अप्रारंभीकृत सरणी का उपयोग करते हैं?

समाधान

  • यदि हम किसी अप्रारंभीकृत सरणी का उपयोग करते हैं, तो संकलक कोई संकलन और निष्पादन त्रुटि उत्पन्न नहीं करेगा।

  • यदि कोई सरणी अप्रारंभीकृत है, तो आपको अप्रत्याशित परिणाम मिल सकते हैं।

  • इसलिए, बेहतर होगा कि हमें हमेशा ऐरे एलिमेंट को डिफ़ॉल्ट मानों के साथ इनिशियलाइज़ करना चाहिए।

उदाहरण कार्यक्रम

एक अप्रारंभीकृत सरणी तक पहुँचने का C प्रोग्राम निम्नलिखित है -

#include <stdio.h>
int main(void){
   int a[4];
   int b[4] = {1};
   int c[4] = {1,2,3,4};
   int i; //for loop counter
   //printing all alements of all arrays
   printf("\nArray a:\n");
   for( i=0; i<4; i++ )
      printf("arr[%d]: %d\n",i,a[i]);
   printf("\nArray b:\n");
   for( i=0; i<4; i++)
      printf("arr[%d]: %d\n",i,b[i]);
   printf("\nArray c:\n");
   for( i=0; i<4; i++ )
      printf("arr[%d]: %d\n",i, c[i]);
   return 0;
}

आउटपुट

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

Array a:
arr[0]: 4195872
arr[1]: 0
arr[2]: 4195408
arr[3]: 0

Array b:
arr[0]: 1
arr[1]: 0
arr[2]: 0
arr[3]: 0

Array c:
arr[0]: 1
arr[1]: 2
arr[2]: 3
arr[3]: 4

नोट

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

एक गैर-आरंभिक सरणी तक पहुँचने के लिए एक और सी प्रोग्राम पर विचार करें -

उदाहरण

#include <stdio.h>
int main(void){
   int A[4];
   int B[4] ;
   int C[4] = {1,2};
   int i; //for loop counter
   //printing all alements of all arrays
   printf("\nArray a:\n");
   for( i=0; i<4; i++ )
      printf("arr[%d]: %d\n",i,A[i]);
   printf("\nArray b:\n");
   for( i=0; i<4; i++)
      printf("arr[%d]: %d\n",i,B[i]);
   printf("\nArray c:\n");
   for( i=0; i<4; i++ )
      printf("arr[%d]: %d\n",i, C[i]);
   return 0;
}

आउटपुट

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

Array a:
arr[0]: 4195856
arr[1]: 0
arr[2]: 4195408
arr[3]: 0

Array b:
arr[0]: -915120393
arr[1]: 32767
arr[2]: 0
arr[3]: 0

Array c:
arr[0]: 1
arr[1]: 2
arr[2]: 0
arr[3]: 0

  1. सी प्रोग्रामिंग में एरे ऑफ पॉइंटर और पॉइंटर टू पॉइंटर की अवधारणा की व्याख्या करें

    पॉइंटर्स की सरणी किसी भी अन्य डेटा प्रकार की तरह, हम भी एक सूचक सरणी घोषित कर सकते हैं। घोषणा datatype *pointername [size]; उदाहरण के लिए, int *p[5]; // यह पॉइंटर्स की एक सरणी का प्रतिनिधित्व करता है जिसमें 5 पूर्णांक तत्व पते हो सकते हैं आरंभीकरण इनिशियलाइज़ेशन के लिए & का इस्तेमाल किया जाता ह

  1. C भाषा में कैरेक्टर ऑपरेशंस की व्याख्या करें

    वर्ण (ए-जेड (या) ए-जेड), अंक (0-9), एक सफेद स्थान, या सी प्रोग्रामिंग भाषा में एक विशेष प्रतीक हो सकता है। घोषणा सी प्रोग्रामिंग में कैरेक्टर ऑपरेशंस के लिए घोषणा निम्नलिखित है - char a= ‘A’; using a character constant. चरित्र इनपुट / आउटपुट फ़ंक्शन कैरेक्टर इनपुट/आउटपुट फंक्शन्स को नी

  1. C भाषा में पॉइंटर एक्सेसिंग की अवधारणा की व्याख्या करें

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सूचक घोषणा, आरंभीकरण और पहुंच निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना int *p; p एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशि