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

C भाषा में स्ट्रक्चर्स के पॉइंटर्स क्या हैं?


स्ट्रक्चर का पॉइंटर संपूर्ण स्ट्रक्चर का पता रखता है।

इसका उपयोग लिंक्ड लिस्ट, ट्री, ग्राफ आदि जैसे जटिल डेटा स्ट्रक्चर्स बनाने के लिए किया जाता है।

स्ट्रक्चर के मेंबर्स को एक विशेष ऑपरेटर जिसे एरो ऑपरेटर (->) कहा जाता है, का उपयोग करके एक्सेस किया जा सकता है।

घोषणा

C प्रोग्रामिंग में स्ट्रक्चर्स के पॉइंटर्स के लिए घोषणा निम्नलिखित है:

struct tagname *ptr;

उदाहरण: struct student *s;

एक्सेस करना

स्ट्रक्चर्स के पॉइंटर्स को कैसे एक्सेस करें, यह नीचे समझाया गया है:

ptr->membername;

उदाहरण: s->sno, s->sname, s->marks;

उदाहरण प्रोग्राम

निम्नलिखित प्रोग्राम स्ट्रक्चर्स के पॉइंटर्स के उपयोग को दर्शाता है:

#include <stdio.h>

struct student {
    int sno;
    char sname[30];
    float marks;
};

int main() {
    struct student s;
    struct student *st;
    
    printf("sno, sname, marks दर्ज करें: ");
    scanf("%d%s%f", &s.sno, s.sname, &s.marks);
    
    st = &s;
    printf("छात्र का विवरण है:");
    printf("Number = %d\n", st->sno);
    printf("name = %s\n", st->sname);
    printf("marks = %f\n", st->marks);
    
    return 0;
}

आउटपुट

उपरोक्त प्रोग्राम को चलाने पर निम्नलिखित परिणाम प्राप्त होगा:

sno, sname, marks दर्ज करें: 1 Lucky 98
छात्र का विवरण है:
Number = 1
name = Lucky
marks = 98.000000

उदाहरण 2

एक और उदाहरण पर विचार करें जो स्ट्रक्चर्स के पॉइंटर्स के कामकाज को समझाता है।

#include <stdio.h>

struct person {
    int age;
    float weight;
};

int main() {
    struct person *personPtr, person1;
    personPtr = &person1;
    
    printf("उम्र दर्ज करें: ");
    scanf("%d", &personPtr->age);
    
    printf("वजन दर्ज करें: ");
    scanf("%f", &personPtr->weight);
    
    printf("प्रदर्शित:\n");
    printf("Age: %d\n", personPtr->age);
    printf("Weight: %f", personPtr->weight);
    
    return 0;
}

आउटपुट

उपरोक्त प्रोग्राम को चलाने पर निम्नलिखित परिणाम प्राप्त होगा:

उम्र दर्ज करें: 45
वजन दर्ज करें: 60
प्रदर्शित:
Age: 45
Weight: 60.000000

  1. C भाषा में विभिन्न पॉइंटर ऑपरेशन्स और पॉइंटर्स की समस्याएं C भाषा में विभिन्न पॉइंटर ऑपरेशन्स और पॉइंटर्स की समस्याएं

    पॉइंटर एक वेरिएबल है जिसका मान दूसरे वेरिएबल का पता होता है, यानी मेमोरी लोकेशन का सीधा पता। किसी भी वेरिएबल या कॉन्स्टेंट की तरह, इसका उपयोग करने से पहले पॉइंटर घोषित करना आवश्यक है। मेमोरी प्रतिनिधित्व int qty = 179; मेमोरी में प्रतिनिधित्व: qty नामक वेरिएबल, पता 5000 पर, मान 179 संग्रहीत करता ह

  1. C भाषा में शिफ्ट ऑपरेशन क्या हैं? C भाषा में शिफ्ट ऑपरेशन क्या हैं?

    समस्या C भाषा का उपयोग करके किसी संख्या के बाएं शिफ्ट, दाएं शिफ्ट और कॉम्प्लीमेंट को दिखाने का सरल प्रोग्राम क्या है? समाधान बाएं शिफ्ट (Left Shift) यदि किसी वेरिएबल का मान एक बार बाएं शिफ्ट किया जाता है, तो उसका मान दोगुना हो जाता है। उदाहरण के लिए, a = 10, तो a<<1 = 20 दाएं शिफ्ट (Right Sh

  1. C भाषा में प्राथमिक डेटा टाइप्स (Primary Data Types) क्या हैं? C भाषा में प्राथमिक डेटा टाइप्स (Primary Data Types) क्या हैं?

    C कंपाइलर्स चार मौलिक डेटा टाइप्स का समर्थन करते हैं: इंटीजर (Integer) कैरेक्टर (Character) फ्लोटिंग-पॉइंट (Floating-point) डबल प्रिसिजन फ्लोटिंग-पॉइंट (Double precision floating-point) प्राथमिक डेटा टाइप्स इंटीग्रल डेटा टाइप (Integral Data Type) इंटीग्रल डेटा टाइप्स पूरे नंबर और कैरेक्टर्स स्टो