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

C में संरचना सदस्य सरणियों की डीप कॉपी (Deep Copy)

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

उदाहरण

#include <stdio.h>
#include <string.h>

typedef struct student {
    int roll_num;
    char name[128];
} student_t;

void print_struct(student_t *s) {
    printf("Roll num: %d, name: %s\n", s->roll_num, s->name);
}

int main() {
    student_t s1, s2;
    s1.roll_num = 1;
    strcpy(s1.name, "tom");
    s2 = s1;
    // सरणी पर डीप कॉपी होने के कारण s1 की सामग्री प्रभावित नहीं होती
    s2.name[0] = 'T';
    s2.name[1] = 'O';
    s2.name[2] = 'M';
    print_struct(&s1);
    print_struct(&s2);
    return 0;
}

आउटपुट

Roll num: 1, name: tom
Roll num: 1, name: TOM
  1. जावास्क्रिप्ट में एरे बनाम सेट जावास्क्रिप्ट में एरे बनाम सेट

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

  1. C/C++ में मल्टीडायमेंशनल ऐरे C/C++ में मल्टीडायमेंशनल ऐरे

    C/C++ में, मल्टीडायमेंशनल ऐरे को सरल शब्दों में ऐरे के ऐरे के रूप में परिभाषित किया जाता है। मल्टीडायमेंशनल ऐरे में डेटा टेबुलर फॉर्म में स्टोर होता है (रो मेजर ऑर्डर में)। निम्नलिखित डायग्राम 3 x 3 x 3 डायमेंशन वाले मल्टीडायमेंशनल ऐरे के लिए मेमोरी आवंटन रणनीति दिखाता है। एल्गोरिदम Begin ऐर

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

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