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

सी में ऐरे और पॉइंटर्स के बीच अंतर

सी में ऐरे का उपयोग एक ही प्रकार के तत्वों को स्टोर करने के लिए किया जाता है जबकि पॉइंटर्स एड्रेस वेरिएबल्स होते हैं जो एक वेरिएबल के एड्रेस को स्टोर करते हैं। अब सरणी चर में एक पता भी होता है जिसे एक सूचक द्वारा इंगित किया जा सकता है और सूचक का उपयोग करके सरणी को नेविगेट किया जा सकता है। सरणी के लिए सूचक का उपयोग करने का लाभ दो गुना है, पहला, हम सूचक को गतिशील रूप से आवंटित सरणी का पता संग्रहीत करते हैं और दूसरा, किसी फ़ंक्शन में सरणी पास करने के लिए। सरणी का उपयोग करने और सरणी में पॉइंटर का उपयोग करने में अंतर निम्नलिखित हैं।

  • आकार () ऑपरेटर सरणी के मामले में सरणी के आकार को प्रिंट करता है और सूचक के मामले में, यह int के आकार को प्रिंट करता है।

  • असाइनमेंट सरणी चर को किसी अन्य चर का पता नहीं सौंपा जा सकता है लेकिन सूचक इसे ले सकता है।

  • पहला मान पहला अनुक्रमित मान सूचक के मान के समान है। उदाहरण के लिए, सरणी[0] ==*p.

  • पुनरावृत्ति सरणी तत्वों को [] का उपयोग करके अनुक्रमणिका का उपयोग करके नेविगेट किया जा सकता है, सूचक सूचक अंकगणित का उपयोग करके सरणी तत्वों तक पहुंच प्रदान कर सकता है। उदाहरण के लिए, सरणी[2] ==*(p+2)

उदाहरण (सी)

#include <stdio.h>
void printElement(char* q, int index){
   printf("Element at index(%d) is: %c\n", index, *(q+index));
}
int main() {
   char arr[] = {'A', 'B', 'C'};
   char* p = arr;
   printf("Size of arr[]: %d\n", sizeof(arr));
   printf("Size of p: %d\n", sizeof(p));
   printf("First element using arr is: %c\n", arr[0]);
   printf("First element using p is: %c\n", *p);
   printf("Second element using arr is: %c\n", arr[1]);
   printf("Second element using p is: %c\n", *(p+1));
   printElement(p, 2);
   return 0;
}

आउटपुट

Size of arr[]: 3
Size of p: 8
First element using arr is: A
First element using p is: A
Second element using arr is: B
Second element using p is: B
Element at index(2) is: C

  1. सी # में सूची और सरणी के बीच क्या अंतर है?

    एक सरणी एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत करती है, जबकि सूची एक सामान्य संग्रह है। सूची को परिभाषित करने के लिए - List<string7gt; myList = new List<string>(); सूची में तत्वों को सेट करने के लिए, आपको जोड़ें विधि का उपयोग करने की आवश्यकता है - myList

  1. जावा में पैकेज और इंटरफेस के बीच अंतर

    इस पोस्ट में, हम Java में पैकेज और इंटरफेस के बीच के अंतर को समझेंगे। पैकेज यह कक्षाओं और/या इंटरफेस का एक समूह है जो एक साथ हैं। इसे पैकेज कीवर्ड का उपयोग करके बनाया जा सकता है। इसे आयात किया जा सकता है। यह आयात कीवर्ड का उपयोग करके किया जा सकता है। उदाहरण package package_name; public

  1. गो और जावा के बीच अंतर.

    जाओ गो एक प्रक्रियात्मक प्रोग्रामिंग भाषा है। पैकेज का उपयोग करके कार्यक्रमों को इकट्ठा किया जाता है। यह गतिशील भाषाओं के समान पर्यावरण अपनाने वाले पैटर्न का समर्थन करता है। जावा जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। जावा शांत तेज, विश्वसनीय और सुरक्षित है। यह सबसे व्यापक रूप से उपयो