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

सी भाषा में गतिशील स्मृति आवंटन पर उदाहरण कार्यक्रम

समस्या

सी में डायनेमिक मेमोरी आवंटन का उपयोग करके किसी सरणी से अधिकतम और न्यूनतम का पता लगाएं।

समाधान

गतिशील स्मृति आवंटन सी प्रोग्रामर को रनटाइम पर स्मृति आवंटित करने में सक्षम बनाता है।

रन टाइम में गतिशील रूप से मेमोरी आवंटित करने के लिए हम जिन विभिन्न कार्यों का उपयोग करते हैं, वे हैं -

  • मॉलोक () - रनटाइम पर मेमोरी के एक ब्लॉक को बाइट्स में आवंटित करता है।

  • कॉलोक () - रनटाइम पर मेमोरी के निरंतर ब्लॉक आवंटित करता है।

  • रीयलोक () - आवंटित मेमोरी को कम करने (या) बढ़ाने के लिए उपयोग किया जाता है।

  • मुक्त () - पहले से आवंटित स्मृति स्थान को हटा देता है।

डायनामिक मेमोरी आवंटन का उपयोग करके किसी सरणी में अधिकतम और न्यूनतम संख्या ढूँढना

किसी सरणी में अधिकतम तत्व खोजने का तर्क -

पहले ऐरे को मेमोरी आवंटित करें

p=(int*)malloc(n*sizeof(int)); //dynamic memory allocation
for(i=0;i<n;i++){
   scanf("%d",p+i);
   if(*(p+i)>max) //finding max element
      max=*(p+i);
}

सरणी में न्यूनतम तत्व खोजने का तर्क -

for(i=0;i<n;i++){
   scanf("%d",p+i);
   if(*(p+i)<min) //finding min element
      min=*(p+i);
}

उदाहरण

#include<stdio.h>
int main(){
   int *p,n,i,max=-32768,min=32767;
   printf("\n enter size:");
   scanf("%d",&n);
   p=(int*)malloc(n*sizeof(int)); //dynamic memory allocation
   printf("\n enter elements:");
   for(i=0;i<n;i++){
      scanf("%d",p+i);
      if(*(p+i)>max) //finding max element
         max=*(p+i);
      if(*(p+i)<min) //finding min element
         min=*(p+i);
   }
   printf("\n maximum=%d\n minimum=%d",max,min);
   free(p);
}

आउटपुट

enter size:
enter elements:
maximum=-32768
minimum=32767

  1. C भाषा में प्रोग्राम डेवलपमेंट साइकिल क्या है?

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

  1. C प्रोग्रामिंग में स्टैटिक मेमोरी एलोकेशन से आप क्या समझते हैं?

    मेमोरी को निम्नलिखित दो तरीकों से आवंटित किया जा सकता है - स्थिर मेमोरी आवंटन स्थिर चर एक निश्चित आकार के आवंटित स्थान के एक ब्लॉक में परिभाषित करता है। एक बार आवंटित होने के बाद, इसे कभी भी मुक्त नहीं किया जा सकता है। प्रोग्राम में घोषित चर के लिए मेमोरी आवंटित की जाती है। पता & ऑपरेटर का उप

  1. C प्रोग्राम में विभिन्न प्रकार के भावों को समझाइए

    एक अभिव्यक्ति ऑपरेटरों और ऑपरेंड का एक संयोजन है जो एक ही मूल्य को कम कर देता है। एक डेटा आइटम पर एक ऑपरेशन किया जाता है जिसे ऑपरेंड कहा जाता है। एक ऑपरेटर डेटा पर किए जाने वाले ऑपरेशन को इंगित करता है। उदाहरण के लिए, z =3+2*1 जेड =5 प्राथमिक भाव - यह एक ऑपरेंड है जो एक नाम, एक स्थिरांक या को