समस्या
सी प्रोग्राम की मदद से एरे पोस्ट और प्री इंक्रीमेंटेड कॉन्सेप्ट की व्याख्या करना।
समाधान
इन्क्रीमेंट ऑपरेटर (++) -
-
इसका उपयोग किसी वेरिएबल के मान को 1 से बढ़ाने के लिए किया जाता है
-
दो प्रकार के इंक्रीमेंट ऑपरेटर - प्री इंक्रीमेंट और पोस्ट इंक्रीमेंट।
-
इंक्रीमेंट ऑपरेटर को प्रीइंक्रिमेंट में ऑपरेंड से पहले रखा जाता है और वैल्यू को पहले इंक्रीमेंट किया जाता है और फिर उस पर ऑपरेशन किया जाता है।
eg: z = ++a; a= a+1 z=a
-
इंक्रीमेंट ऑपरेटर को पोस्ट इंक्रीमेंट में ऑपरेंड के बाद रखा जाता है और ऑपरेशन करने के बाद वैल्यू बढ़ा दी जाती है।
eg: z = a++; z=a a= a+1
आइए पूर्व और बाद के वेतन वृद्धि का उपयोग करके स्मृति स्थानों में विशेष तत्वों तक पहुंचने के लिए एक उदाहरण पर विचार करें।
आकार 5 की एक सरणी घोषित करें और समय आरंभीकरण संकलित करें। उसके बाद 'a' वेरिएबल को पहले से बढ़ा हुआ मान असाइन करने का प्रयास करें।
a=++arr[1] // arr[1]=arr[1]+1 a=arr[1] b=arr[1]++// b=arr[1] arr[1]+1
उदाहरण 1
#include<stdio.h>
int main(){
int a, b, c;
int arr[5] = {1, 2, 3, 25, 7};
a = ++arr[1];
b = arr[1]++;
c = arr[a++];
printf("%d--%d--%d", a, b, c);
return 0;
} आउटपुट
4--3--25
स्पष्टीकरण
here, a = ++arr[1]; i.e a = 3 //arr[2];
b = arr[1]++; i.e b = 3 //arr[2];
c = arr[a++]; i.e c = 25 //arr[4];
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted उदाहरण 2
सरणी के पूर्व और बाद के वृद्धि के बारे में अधिक जानने के लिए एक और उदाहरण पर विचार करें।
#include<stdio.h>
int main(){
int a, b, c;
int arr[5] = {1, 2, 3, 25, 7};
a = ++arr[3];
b = arr[3]++;
c = arr[a++];
printf("%d--%d--%d", a, b, c);
return 0;
} आउटपुट
27--26—0