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

C/C++ में रेफरेंस बनाम पॉइंटर्स का उपयोग कब करें

रेफरेंस वेरिएबल

रेफरेंस वेरिएबल पहले से मौजूद वेरिएबल का एक वैकल्पिक नाम है। इसे किसी अन्य वेरिएबल को संदर्भित करने के लिए बदला नहीं जा सकता और घोषणा के समय आरंभ किया जाना चाहिए। यह NULL नहीं हो सकता। रेफरेंस वेरिएबल घोषित करने के लिए ऑपरेटर & का उपयोग किया जाता है।

रेफरेंस वेरिएबल का सिंटैक्स निम्नलिखित है।

datatype variable_name; // वेरिएबल घोषणा
datatype& refer_var = variable_name; // रेफरेंस वेरिएबल

यहाँ,

datatype - int, char, float आदि जैसे वेरिएबल का डेटा टाइप।

variable_name - उपयोगकर्ता द्वारा दिया गया वेरिएबल का नाम।

refer_var - रेफरेंस वेरिएबल का नाम।

रेफरेंस वेरिएबल का एक उदाहरण निम्नलिखित है।

उदाहरण

#include <iostream>
using namespace std;
int main()
{
    int a = 8;
    int& b = a;
    cout << "The variable a: " << a;
    cout << "\nThe reference variable r: " << b;
    return 0;
}

आउटपुट

The variable a: 8
The reference variable r: 8

पॉइंटर्स

मूल रूप से, पॉइंटर्स वे वेरिएबल हैं जो किसी अन्य वेरिएबल का पता संग्रहीत करते हैं। जब हम किसी वेरिएबल को मेमोरी आवंटित करते हैं, तो पॉइंटर उस वेरिएबल के पते की ओर इंगित करता है।

पॉइंटर्स का सिंटैक्स निम्नलिखित है।

datatype *variable_name;

यहाँ,

datatype - int, char, float आदि जैसे वेरिएबल का डेटा टाइप।

variable_name - उपयोगकर्ता द्वारा दिया गया वेरिएबल का नाम।

पॉइंटर्स का एक उदाहरण निम्नलिखित है।

उदाहरण

#include <stdio.h>
int main()
{
    int a = 8;
    int *ptr;
    ptr = &a;
    printf("Value of variable: %d\n", a);
    printf("Address of variable: %d\n", ptr);
    printf("Value pointer variable: %d\n", *ptr);
    return 0;
}

आउटपुट

Value of variable: 8
Address of variable: -201313340
Value pointer variable: 8
  1. - C/C++ पॉइंटर्स बनाम जावा रेफरेंसेस

    पॉइंटर्सC, C++ प्रोग्रामिंग भाषाओं में, एक पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता रखता है। उदाहरण#include <iostream> using namespace std; int main() { // int वेरिएबल int i = 8; // पॉइंटर वेरिएबल int * pI; // i का पता उसके पॉइंटर को असाइन करें pI = &i; //

  1. - C++ में वर्चुअल डिस्ट्रक्टर्स का उपयोग कब करना चाहिए?

    स्कॉट मेयर्स Effective C++ में कहते हैं: यदि किसी क्लास में कोई वर्चुअल फ़ंक्शन है, तो इसमें एक वर्चुअल डिस्ट्रक्टर होना चाहिए, और जिन क्लासेस को बेस क्लास के रूप में डिज़ाइन नहीं किया गया है या पॉलीमॉर्फिक रूप से उपयोग करने के लिए डिज़ाइन नहीं किया गया है, उन्हें वर्चुअल डिस्ट्रक्टर्स घोषित नहीं क

  1. - C/C++ में फॉरवर्ड डिक्लेरेशन का उपयोग कब कर सकते हैं?

    फॉरवर्ड डिक्लेरेशन डिक्लेरेशन के बाद के कोड को यह जानने देता है कि Person नाम की क्लासेस हैं। यह कंपाइलर को संतुष्ट करता है जब यह इन नामों को उपयोग होते देखता है। बाद में लिंकर क्लासेस की परिभाषा ढूंढ लेगा। उदाहरण Class Person; void myFunc(Person p1) {    // ... } Class Person {   &