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

C/C++ ऐरे में a[i] == i[a] क्यों होता है?


यहां हम C या C++ में एक अद्भुत ट्रिक देखेंगे। ऐरे सबस्क्रिप्ट A[i] को i[a] के रूप में भी लिखा जा सकता है। C/C++ में E1[E2] को (*((E1) + (E2))) के रूप में परिभाषित किया गया है। कंपाइलर ऐरे तत्वों तक पहुंचने के लिए आंतरिक रूप से अंकगणित करता है। रूपांतरण नियमों के कारण, जो बाइनरी + ऑपरेटर पर लागू होते हैं, यदि E1 एक ऐरे ऑब्जेक्ट है, और E2 एक पूर्णांक है, तो E1[E2] E1 ऐरे में E2वें तत्व को दर्शाता है। इसलिए A[B] को *(A + B) के रूप में परिभाषित किया जा सकता है, इसलिए B[A] = *(B + A)। तो वे मूल रूप से एक ही चीज हैं।

उदाहरण

#include <iostream>
using namespace std;

int main() {
    int array[] = {1, 2, 3, 4, 5, 6, 7};
    cout << "array[5] is " << array[5] << endl;
    cout << "5[array] is " << 5[array];
}

आउटपुट

array[5] is 6
5[array] is 6
  1. C/C++ में मल्टीडायमेंशनल ऐरे का इनिशियलाइज़ेशन C/C++ में मल्टीडायमेंशनल ऐरे का इनिशियलाइज़ेशन

    मल्टीडायमेंशनल ऐरे में, ऐरे का डायमेंशन 1 से अधिक होना चाहिए। निम्नलिखित डायग्राम 3 x 3 x 3 डायमेंशन वाले मल्टीडायमेंशनल ऐरे के लिए मेमोरी आवंटन रणनीति दिखाता है। यह मल्टीडायमेंशनल ऐरे को इनिशियलाइज़ करने के लिए एक C++ प्रोग्राम है। एल्गोरिदम Begin मल्टीडायमेंशनल ऐरे के एलिमेंट्स इनिशियलाइज

  1. - C/C++ में मल्टी-डायमेंशनल ऐरे कैसे परिभाषित करें?

    ऐरे एक ही प्रकार के एलिमेंट्स का संग्रह है जो सन्निहित मेमोरी लोकेशन पर होते हैं। सबसे कम पता पहले एलिमेंट से मेल खाता है जबकि सबसे अधिक पता अंतिम एलिमेंट से मेल खाता है। ऐरे इंडेक्स शून्य (0) से शुरू होता है और ऐरे के आकार घटा एक (ऐरे साइज - 1) पर समाप्त होता है। ऐरे का आकार शून्य से बड़ा इंटीजर हो

  1. - C++ में सरणी (Arrays) का उपयोग कैसे करें?

    एक सरणी एक ही प्रकार के तत्वों की एक श्रृंखला है जो सन्निहित मेमोरी स्थानों में रखी जाती है जिन्हें एक यूनिक आइडेंटिफायर में इंडेक्स जोड़कर व्यक्तिगत रूप से संदर्भित किया जा सकता है। C++ में सरणी का उपयोग करने के लिए, आपको पहले इसे घोषित करना होगा, उदाहरण के लिए, int arr[10]; यह आकार 10 की int प्रका