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

पॉइंटर्स पर उदाहरण प्रदर्शित करते हुए एक सी प्रोग्राम लिखें

पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है।

पॉइंटर्स की विशेषताएं

  • पॉइंटर मेमोरी स्पेस को बचाता है।

  • मेमोरी लोकेशन तक सीधी पहुंच के कारण पॉइंटर का निष्पादन समय तेज होता है।

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

  • पॉइंटर्स का उपयोग डेटा संरचनाओं के साथ किया जाता है।

सूचक घोषित करना

int *p;

इसका मतलब है कि 'p' एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है।

सूचक का प्रारंभ

एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशियलाइज़ करने के लिए किया जाता है।

उदाहरण के लिए,

int qty = 175;
int *p;
p= &qty;

पॉइंटर्स पर उदाहरण प्रदर्शित करते हुए एक सी प्रोग्राम लिखें

किसी वेरिएबल को उसके पॉइंटर से एक्सेस करना

वेरिएबल के मान को एक्सेस करने के लिए, इनडायरेक्शन ऑपरेटर (*) का उपयोग किया जाता है।

कार्यक्रम

#include<stdio.h>
void main(){
   //Declaring variables and pointer//
   int a=2;
   int *p;
   //Declaring relation between variable and pointer//
   p=&a;
   //Printing required example statements//
   printf("Size of the integer is %d\n",sizeof (int));//4//
   printf("Address of %d is %d\n",a,p);//Address value//
   printf("Value of %d is %d\n",a,*p);//2//
   printf("Value of next address location of %d is %d\n",a,*(p+1));//Garbage value from (p+1) address//
   printf("Address of next address location of %d is %d\n",a,(p+1));//Address value +4//
   //Typecasting the pointer//
   //Initializing and declaring character data type//
   //a=2 = 00000000 00000000 00000000 00000010//
   char *p0;
   p0=(char*)p;
   //Printing required statements//
   printf("Size of the character is %d\n",sizeof(char));//1//
   printf("Address of %d is %d\n",a,p0);//Address Value(p)//
   printf("Value of %d is %d\n",a,*p0);//First byte of value a - 2//
   printf("Value of next address location of %d is %d\n",a,*(p0+1));//Second byte of value a - 0//
   printf("Address of next address location of %d is %d\n",a,(p0+1));//Address value(p)+1//
}

आउटपुट

Size of the integer is 4
Address of 2 is 6422028
Value of 2 is 2
Value of next address location of 2 is 10818512
Address of next address location of 2 is 6422032
Size of the character is 1
Address of 2 is 6422028
Value of 2 is 2
Value of next address location of 2 is 0
Address of next address location of 2 is 6422029

  1. सी प्रोग्राम स्ट्रिंग्स और उनके पते पर पॉइंटर्स की सरणी मुद्रित करने के लिए

    सबसे पहले, आइए समझते हैं कि C प्रोग्रामिंग भाषा में पॉइंटर्स की सरणियाँ क्या हैं। पॉइंटर्स की सरणी:(स्ट्रिंग्स के लिए) यह एक सरणी है जिसके तत्व स्ट्रिंग के आधार जोड़ के ptrs हैं। इसे निम्नानुसार घोषित और आरंभ किया गया है - char *a[ ] = {"one", "two", "three"};

  1. सरणी को उलटने के लिए C प्रोग्राम लिखें

    एक सरणी संबंधित वस्तुओं का एक समूह है जो एक सामान्य नाम से संग्रहीत होता है। सिंटैक्स एक सरणी घोषित करने के लिए सिंटैक्स इस प्रकार है - datatype array_name [size]; आरंभीकरण घोषणा के समय एक ऐरे को भी इनिशियलाइज़ किया जा सकता है - int a[5] = { 10,20,30,40,50}; सी में उलटा सरणी हम स्वैपिंग तकनीक क

  1. सी प्रोग्राम पीजीएम प्रारूप में एक छवि लिखने के लिए

    PGM पोर्टेबल ग्रे मैप है। अगर हम पीएनजी, जेपीईजी, या किसी अन्य छवि प्रारूप में छवियों के रूप में सी में 2 डी सरणी स्टोर करना चाहते हैं, तो हमें फ़ाइल में लिखने से पहले डेटा को कुछ निर्दिष्ट प्रारूप में एन्कोड करने के लिए बहुत काम करना होगा। नेटपीबीएम प्रारूप एक आसान और पोर्टेबल समाधान देता है। नेटप