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

C प्रोग्राम: स्ट्रक्चर्स के ऐरे और स्ट्रक्चर के भीतर ऐरे में अंतर

C प्रोग्रामिंग भाषा में, स्ट्रक्चर का सबसे आम उपयोग स्ट्रक्चर्स का ऐरे है।

स्ट्रक्चर्स के ऐरे को घोषित करने के लिए, पहले स्ट्रक्चर को परिभाषित किया जाना चाहिए और फिर उस प्रकार का एक ऐरे वेरिएबल परिभाषित करना होगा।

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

struct book b[10]; // 'book' प्रकार के स्ट्रक्चर्स के ऐरे में 10 एलिमेंट्स

उदाहरण: स्ट्रक्चर्स का ऐरे

स्ट्रक्चर्स के ऐरे के लिए C प्रोग्राम:

struct marks {
    int sub1;
    int sub2;
    int sub3;
    int total;
};

main() {
    int i;
    struct marks student[3] = {{20, 17, 11, 10},
                                {175, 23, 169, 10},
                                {27, 56, 27, 01}};
    struct marks total;
    for(i = 0; i <= 2; i++) {
        student[i].total = student[i].sub1 +
                           student[i].sub2 +
                           student[i].sub3;
        total.sub1 = total.sub1 + student[i].sub1;
        total.sub2 = total.sub2 + student[i].sub2;
        total.sub3 = total.sub3 + student[i].sub3;
        total.total = total.total + student[i].total;
    }
    printf(" STUDENT TOTAL\n\n");
    for(i = 0; i <= 2; i++)
        printf("Student[%d] %d\n", i+1, student[i].total);
    printf("\n SUBJECT TOTAL\n\n");
    printf("%s %d\n%s %d\n%s %d\n",
           "Subject 1 ", total.sub1,
           "Subject 2 ", total.sub2,
           "Subject 3 ", total.sub3);
    printf("\nGrand Total = %d\n", total.total);
}

आउटपुट

STUDENT TOTAL
Student[1] 48
Student[2] 367
Student[3] 110

SUBJECT TOTAL
Subject 1 4200462
Subject 2 96
Subject 3 223
Grand Total = 525

उदाहरण: स्ट्रक्चर के भीतर ऐरे

स्ट्रक्चर के भीतर ऐरे के लिए C प्रोग्राम:

main() {
    struct marks {
        int sub[3];
        int total;
    };
    struct marks student[3] =
        {145, 50, 11, 10, 175, 50, 19, 10, 20, 30, 25, 10};
    struct marks total;
    int i, j;
    for(i = 0; i <= 2; i++) {
        for(j = 0; j <= 2; j++) {
            student[i].total += student[i].sub[j];
            total.sub[j] += student[i].sub[j];
        }
        total.total += student[i].total;
    }
    printf("STUDENT TOTAL\n\n");
    for(i = 0; i <= 2; i++)
        printf("Student[%d] %d\n", i+1, student[i].total);
    printf("\nSUBJECT TOTAL\n\n");
    for(j = 0; j <= 2; j++)
        printf("Subject-%d %d\n", j+1, total.sub[j]);
    printf("\nGrand Total = %d\n", total.total);
}

आउटपुट

STUDENT TOTAL
Student[1] 216
Student[2] 254
Student[3] 85

SUBJECT TOTAL
Subject-1 4200548
Subject-2 130
Subject-3 71
Grand Total = 555
  1. डेटा संरचना में सरणियों की सरणी प्रतिनिधित्व (Array of Arrays Representation) डेटा संरचना में सरणियों की सरणी प्रतिनिधित्व (Array of Arrays Representation)

    इस अनुभाग में हम बहुआयामी सरणियों के एक अन्य प्रतिनिधित्व को देखेंगे। यहाँ हम सरणियों की सरणी (Array of Arrays) प्रतिनिधित्व देखेंगे। इस रूप में, हमारे पास एक सरणी होती है जो कई सरणियों के प्रारंभिक पतों (starting addresses) को रखती है। प्रतिनिधित्व नीचे जैसा दिखेगा: यह आकार [7 x 8] का एक द्वि-आय

  1. C में बहुआयामी सरणियाँ C में बहुआयामी सरणियाँ

    यहां हम बहुआयामी सरणियों को देखेंगे। एक सरणी मूल रूप से सजातीय डेटा का एक समूह है। उन्हें सन्निहित मेमोरी स्थानों में रखा जाता है। विभिन्न मामलों में हम देख सकते हैं कि सरणियाँ एक-आयामी नहीं होती हैं। कभी-कभी हमें दो-आयामी या बहुआयामी रूप में सरणी बनाने की आवश्यकता होती है। बहुआयामी सरणियों को दो

  1. - रूबी के स्प्लैट ऑपरेटर में महारत हासिल करें: आसानी से सरणी बनाएं और हेरफेर करें

    रूबी के बारे में मुझे जो चीजें पसंद हैं उनमें से एक इसकी विशेषताओं की गहराई है। आप एक ऑपरेटर का उपयोग कर सकते हैं, लेकिन थोड़ी खुदाई करें और आप पाएंगे कि आपने केवल इसकी क्षमताओं की सतह को खरोंचा है। विनम्र स्प्लैट ऑपरेटर (* और **) एक बेहतरीन उदाहरण है। आपने शायद स्प्लैट का उपयोग कैच-ऑल आर्गुमेंट के