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

C और C++ में "void *" में क्या अंतर है?


इस सेक्शन में हम देखेंगे कि C में void पॉइंटर और C++ में void पॉइंटर के बीच क्या अंतर हैं। वे दोनों void पॉइंटर्स हैं लेकिन C में एक void पॉइंटर को किसी भी पॉइंटर टाइप को असाइन किया जा सकता है, लेकिन C++ में हम ऐसा नहीं कर सकते। C++ में असाइन करने के लिए हमें स्पष्ट रूप से टाइपकास्ट करना होगा।

निम्नलिखित उदाहरण में ये लाइनें तब निष्पादित हो सकती हैं जब हम C में कुछ कोड लिख रहे हों।

void *p;
int *int_ptr = p;

यह C में ठीक काम करेगा। अब यदि हम कुछ मेमोरी स्पेस आवंटित करने के लिए malloc() का उपयोग करते हैं, तो हम स्पष्ट टाइपकास्ट का उपयोग कर सकते हैं, लेकिन यदि हम ऐसा नहीं करते हैं, तो यह भी ठीक होगा। malloc() फंक्शन void पॉइंटर लौटाता है।

int *int_ptr = malloc(sizeof(int) * 10);

यहां लौटाया गया void पॉइंटर अंतर्निहित रूप से इंटीजर टाइप पॉइंटर में परिवर्तित हो जाता है।

अब यदि हम उसी प्रोग्राम को C और C++ दोनों में चलाना चाहते हैं, तो हमें पॉइंटर्स को स्पष्ट रूप से टाइपकास्ट करना चाहिए।

void *p;
int *int_ptr = (int *) p;
int *arr_ptr = (int *) malloc(sizeof(int) * 10);
  1. Dropbox Paper क्या है और यह कैसे तुलना करता है? Dropbox Paper क्या है और यह कैसे तुलना करता है?

    Dropbox ने 2015 में Dropbox Paper की घोषणा की और 2017 में उत्पाद को दुनिया में कहीं से भी टीम के सदस्यों के साथ व्यवस्थित और सहयोग करने के एक नए तरीके के रूप में लॉन्च किया। अनिवार्य रूप से, यह ऑनलाइन सहयोगी पाई का एक टुकड़ा चाहता था जो मुख्य रूप से Google Drive और Office 365 द्वारा बंधक बना हुआ है।

  1. C++ में कॉम्बिनेशन और पर्मुटेशन कैसे कैलकुलेट करें? C++ में कॉम्बिनेशन और पर्मुटेशन कैसे कैलकुलेट करें?

    कॉम्बिनेशन और पर्मुटेशन कॉम्बिनेटोरिक्स का हिस्सा हैं। पर्मुटेशन वे विभिन्न व्यवस्थाएं हैं जो एलिमेंट्स का एक सेट बना सकता है यदि एलिमेंट्स को एक समय में, कुछ समय में या सभी समय में लिया जाए। कॉम्बिनेशन एलिमेंट्स को चुनने के विभिन्न तरीके हैं यदि एलिमेंट्स को एक समय में, कुछ समय में या सभी समय में ल

  1. Void Linux क्या है और इसे कैसे इंस्टॉल करें Void Linux क्या है और इसे कैसे इंस्टॉल करें

    Void Linux एक Linux वितरण है जिसका उद्देश्य एक शक्तिशाली, फिर भी आसानी से पहुंच योग्य, ऑपरेटिंग सिस्टम प्रदान करना है। इसे runit और अपने स्वयं के हल्के पैकेज मैनेजर के उपयोग के माध्यम से सरल और स्थिर दोनों होने के लिए डिज़ाइन किया गया है। Arch Linux के समान, Void Linux एक रोलिंग रिलीज़ मॉडल और ऑपरे