समस्या
सी प्रोग्राम की मदद से एरे पोस्ट और प्री इंक्रीमेंटेड कॉन्सेप्ट की व्याख्या करना।
समाधान
इन्क्रीमेंट ऑपरेटर (++) -
-
इसका उपयोग किसी वेरिएबल के मान को 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