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

C में पॉइंटर्स और ऐरे का संबंध

पॉइंटर्स और ऐरे

कंपाइलर ऐरे के सभी एलिमेंट्स के लिए सन्निहित मेमोरी लोकेशन्स आवंटित करता है। बेस एड्रेस पहले एलिमेंट का पता होता है।

उदाहरण

int a[5] = {10, 20, 30, 40, 50};

मेमोरी लेआउट (मान लें बेस एड्रेस 1000, int = 4 बाइट्स):

एलिमेंटवैल्यूएड्रेस
a[0]101000
a[1]201004
a[2]301008
a[3]401012
a[4]501016

पॉइंटर से ऐरे एक्सेस

int *p;
p = a;        // या p = &a[0];

पॉइंटर अंकगणित: p+1 अगले इंटीजर (4 बाइट्स आगे) को पॉइंट करता है।

पॉइंटर और ऐरे इंडेक्स संबंध

p     = &a[0] = 1000
p + 1 = &a[1] = 1004
p + 2 = &a[2] = 1008
p + 3 = &a[3] = 1012
p + 4 = &a[4] = 1016

*(p + i) == a[i]

एड्रेस कैलकुलेशन फॉर्मूला

Address of a[i] = Base Address + (i * sizeof(datatype))

उदाहरण: a[3] का एड्रेस = 1000 + (3 * 4) = 1012

प्रोग्राम: पॉइंटर से ऐरे ट्रैवर्सल

#include <stdio.h>

int main() {
    int a[5];
    int *p, i;
    printf("Enter 5 elements: ");
    for (i = 0; i < 5; i++)
        scanf("%d", &a[i]);
    p = &a[0];
    printf("Array elements: ");
    for (i = 0; i < 5; i++)
        printf("%d ", *(p + i));
    return 0;
}

आउटपुट

Enter 5 elements: 10 20 30 40 50
Array elements: 10 20 30 40 50

मुख्य बिंदु

  • ऐरे नाम (a) अधिकांश संदर्भों में पहले एलिमेंट के एड्रेस में डिके होता है।
  • a[i] को कंपाइलर *(a + i) में अनुवाद करता है।
  • पॉइंटर अंकगणित स्वचालित रूप से डेटा टाइप के आकार के अनुसार स्केल होता है।
  1. C में पॉइंटर्स और ऐरे का संबंध C में पॉइंटर्स और ऐरे का संबंध

    पॉइंटर्स और ऐरे कंपाइलर ऐरे के सभी एलिमेंट्स के लिए सन्निहित मेमोरी लोकेशन्स आवंटित करता है। बेस एड्रेस पहले एलिमेंट का पता होता है। उदाहरण int a[5] = {10, 20, 30, 40, 50}; मेमोरी लेआउट (मान लें बेस एड्रेस 1000, int = 4 बाइट्स): एलिमेंटवैल्यूएड्रेस a[0]101000 a[1]201004 a[2]301008 a[3]401012 a[4]

  1. C भाषा में कैरेक्टर ऑपरेशन्स को समझें C भाषा में कैरेक्टर ऑपरेशन्स को समझें

    C प्रोग्रामिंग भाषा में कैरेक्टर (A-Z या a-z), अंक (0-9), व्हाइट स्पेस, या विशेष प्रतीक हो सकते हैं। घोषणा (Declaration) C प्रोग्रामिंग में कैरेक्टर ऑपरेशन्स के लिए घोषणा निम्नलिखित है: char a = A; // कैरेक्टर कॉन्स्टेंट का उपयोग करके कैरेक्टर इनपुट/आउटपुट फंक्शन्स कैरेक्टर इनपुट/आउटपुट फंक्शन्स

  1. C भाषा में सॉर्टिंग तकनीकें (Sorting Techniques) C भाषा में सॉर्टिंग तकनीकें (Sorting Techniques)

    सॉर्टिंग क्या है? सॉर्टिंग (Sorting) डेटा को किसी विशेष क्रम (आरोही/अवरोही) में व्यवस्थित करने की प्रक्रिया है। C भाषा में कई सॉर्टिंग एल्गोरिदम लागू किए जा सकते हैं। पांच प्रमुख सॉर्टिंग तकनीकें बबल सॉर्ट (Bubble Sort) - एक्सचेंज सॉर्ट भी कहलाता है सिलेक्शन सॉर्ट (Selection Sort) इन्सर्शन सॉर्ट