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

सी/सी++ में पॉइंटर्स की तुलना कैसे करें?

हम पॉइंटर्स की तुलना कर सकते हैं यदि वे एक ही ऐरे की ओर इशारा कर रहे हैं। रिलेशनल पॉइंटर्स का उपयोग दो पॉइंटर्स की तुलना करने के लिए किया जा सकता है। पॉइंटर्स को गुणा या विभाजित नहीं किया जा सकता है।

सी में

उदाहरण

#include <stdio.h>
int main() {
   int *p2;
   int *p1;
   p2 = (int *)300;
   p1 = (int *)200;
   if(p1 > p2) {
      printf("P1 is greater than p2");
   } else {
      printf("P2 is greater than p1");
   }
   return(0);
}

आउटपुट

P2 is greater than p1

C++ में

उदाहरण

#include <iostream>
using namespace std;
int main() {
   int *p2;
   int *p1;
   p2 = (int *)300;
   p1 = (int *)200;
   if(p1>p2) {
      cout<<"P1 is greater than p2";
   } else {
      cout<<"P2 is greater than p1";
   }
   return(0);
}

आउटपुट

P2 is greater than p1

सूचक तुलना के बारे में कुछ मुख्य बिंदु -

  • p1<=p2 और p1>=p2 दोनों सही निकलते हैं और p1p2 दोनों असत्य निकलते हैं, यदि एक ही प्रकार के दो पॉइंटर्स p1 और p2 एक ही ऑब्जेक्ट या फ़ंक्शन की ओर इशारा करते हैं, या दोनों एक बिंदु के अंत से पहले की ओर इशारा करते हैं एक ही सरणी, या दोनों शून्य हैं।

  • p1p2, p1<=p2 और p1>=p2 अनिर्दिष्ट हैं, यदि एक ही प्रकार के दो पॉइंटर्स p1 और p2 अलग-अलग ऑब्जेक्ट्स को इंगित करते हैं जो एक ही ऑब्जेक्ट या एक ही सरणी के तत्वों के सदस्य नहीं हैं या विभिन्न कार्य, या यदि उनमें से केवल एक ही रिक्त है।

  • यदि दो पॉइंटर्स एक ही ऑब्जेक्ट के गैर-स्थिर डेटा सदस्यों को इंगित करते हैं, या ऐसे सदस्यों के उप-वस्तुओं या सरणी तत्वों को समान एक्सेस कंट्रोल के साथ इंगित करते हैं तो परिणाम निर्दिष्ट होता है।

  • परिणाम अनिर्दिष्ट है, यदि दो पॉइंटर्स एक ही ऑब्जेक्ट के गैर-स्थिर डेटा सदस्यों को अलग-अलग एक्सेस कंट्रोल के साथ इंगित करते हैं।


  1. सी/सी++ में प्रीप्रोसेसर कैसे काम करता है?

    यहां हम देखेंगे कि प्रीप्रोसेसर सी या सी ++ में कैसे काम कर रहे हैं। आइए देखें कि प्रीप्रोसेसर क्या हैं। प्रीप्रोसेसर निर्देश हैं, जो वास्तविक संकलन शुरू होने से पहले जानकारी को प्रीप्रोसेस करने के लिए कंपाइलर को निर्देश देते हैं। सभी प्रीप्रोसेसर निर्देश # से शुरू होते हैं, और एक लाइन पर प्रीप्रो

  1. कैसे जांचें कि कोई सी/सी ++ स्ट्रिंग एक int है या नहीं?

    यह जांचने के कई तरीके हैं कि स्ट्रिंग एक इंट है या नहीं और उन तरीकों में से एक है स्ट्रिंग की जांच के लिए isdigit() का उपयोग करना। यह जांचने के लिए यहां एक उदाहरण दिया गया है कि स्ट्रिंग एक int है या नहीं C++ भाषा में, उदाहरण #include<iostream> #include<string.h> using namespace std; i

  1. सी ++ में फ्लोट और डबल की तुलना कैसे करें?

    फ्लोट्स और डबल वेरिएबल्स की तुलना करना इस बात पर निर्भर करता है कि आपका अंतिम लक्ष्य क्या है। यदि आप विवरण में बहुत अधिक जाने के बिना एक रन करने योग्य फ़ंक्शन चाहते हैं और कुछ गलत गणनाओं में कोई समस्या नहीं होगी, तो आप निम्न फ़ंक्शन का उपयोग कर सकते हैं - उदाहरण #include<iostream> using namesp