C भाषा स्ट्रिङ असाइनमेंट र अपरेशन गाइड | शुरुआतीहरूलाई सजिलो

1. परिचय

C भाषामा, स्ट्रिङलाई केवल अक्षरहरूको एरेको रूपमा व्यवहार गरिन्छ। यो विशेषताले गर्दा, अन्य भाषाहरूभन्दा फरक व्यवहार आवश्यक पर्छ। विशेष गरी, स्ट्रिङको असाइनमेंट वा इनिशियलाइजेसनमा, नल क्यारेक्टर(\0)प्रयोग गरेर टर्मिनेशन प्रोसेस अनिवार्य हुन्छ। यस लेखमा, “c भाषा स्ट्रिङ असाइनमेंट” लाई विषयवस्तु बनाउँदै, आधारभूत घोषणा देखि, असाइनमेंट र अपरेसनका तरिकाहरूलाई विस्तृत रूपमा व्याख्या गर्नेछौं। प्रोग्रामको स्थिरता कायम राख्न आवश्यक सावधानीहरू पनि समेटिएका छन्।

2. स्ट्रिङ्गको घोषणा र आरम्भिकरण

C भाषामा स्ट्रिङ्गको घोषणा अक्षरहरूको एरे मार्फत गरिन्छ। तल प्रतिनिधि घोषणा र आरम्भिकरणका विधिहरू देखाइएका छन्।

एरे प्रयोग गरेर घोषणा र आरम्भिकरण

स्ट्रिङ्गहरूलाई तलको जस्तै एरे मार्फत घोषणा र आरम्भिकरण गर्न सकिन्छ।

char greeting[] = "Hello";

उपरोक्त उदाहरणमा, greeting स्ट्रिङ्ग “Hello” द्वारा आरम्भिकरण गरिन्छ, र अन्त्यमा स्वचालित रूपमा नल क्यारेक्टर (\0) थपिन्छ। C भाषामा, एरेको घोषणा गर्दा “=” अपरेटर प्रयोग गरेर आरम्भिकरण गर्न सकिन्छ। यस विधिमा, आकार निर्दिष्ट नगर्नु सामान्य हो।

नल क्यारेक्टरको थप

स्ट्रिङ्गलाई व्यक्तिगत अक्षरहरूद्वारा आरम्भिकरण गर्दा, तलको जस्तै नल क्यारेक्टरलाई म्यानुअली थप्न आवश्यक हुन्छ।

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

C भाषामा, यदि यो नल क्यारेक्टर नहुन्‍दैछ भने, स्ट्रिङ्ग अपरेसन फङ्क्सनहरू सही रूपमा काम गर्दैनन् र मेमोरी सिमाना पार गरेर पढ्न सक्छन्, जसले अनपेक्षित व्यवहार उत्पन्न हुन सक्छ।

侍エンジニア塾

3. स्ट्रिंग असाइन गर्ने तरिका

C भाषामा, स्ट्रिंगलाई प्रत्यक्ष असाइन गर्न सकिँदैन। स्ट्रिंगको सामग्रीलाई अर्को भेरिएबलमा कपी गर्न, strcpy फङ्क्शन प्रयोग गर्नुहोस्।

strcpy फङ्क्शनको आधारभूत प्रयोग

strcpy मानक लाइब्रेरी मा समावेश फङ्क्शन हो, र तलको जस्तै प्रयोग गरिन्छ।

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

int main() {
    char source[] = "Hello";
    char destination[10];
    strcpy(destination, source);
    printf("प्रतिलिपि गरिएको स्ट्रिङ: %sn", destination);
    return 0;
}

यो कोडमा, source को स्ट्रिंग सामग्रीलाई destination मा कपी गरिन्छ, र destination मा “Hello” संग्रहित हुन्छ। strcpy एरेको साइजलाई विचार नगर्ने कारण, साइज ओभरफ्लो नहोस् भनेर ध्यान दिनु आवश्यक छ।

4. स्ट्रिङ्गको सञ्चालन

C भाषा मा, स्ट्रिङ्गलाई सञ्चालन गर्नका लागि केही उपयोगी फलनहरू छन्। तल, strlen, strcat, strcmp आदि, प्रायः प्रयोग हुने फलनहरू बारे व्याख्या गर्छौं।

स्ट्रिङ्गको लम्बाइ प्राप्त गर्ने: strlen

स्ट्रिङ्गको लम्बाइ प्राप्त गर्न, strlen फलन प्रयोग गरिन्छ। यो फलन नल क्यारेक्टरलाई बाहेकको क्यारेक्टर संख्या फिर्ता गर्छ।

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

int main() {
    char str[] = "Hello";
    printf("स्ट्रिङको लम्बाइ: %zun", strlen(str));
    return 0;
}

स्ट्रिङ्गको जोड: strcat

strcat फलनले एउटा स्ट्रिङ्गलाई अर्को स्ट्रिङ्गसँग जोड्दछ।

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

int main() {
    char greeting[20] = "Hello";
    char name[] = " World";
    strcat(greeting, name);
    printf("जोडिएको स्ट्रिङ: %sn", greeting);
    return 0;
}

स्ट्रिङ्गको तुलना: strcmp

strcmp फलनले दुई स्ट्रिङ्गलाई शब्दकोश क्रममा तुलना गर्छ। बराबर भए 0, फरक भए सकारात्मक वा नकारात्मक मान फिर्ता गर्छ।

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

int main() {
    char str1[] = "Hello";
    char str2[] = "World";
    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("स्ट्रिङहरू समान छन्।n");
    } else {
        printf("स्ट्रिङहरू फरक छन्।n");
    }
    return 0;
}

यसले स्ट्रिङ्ग मिल्छ कि मिल्दैन, वा शब्दकोश क्रममा कुन पहिले छ भनेर जाँच गर्न सकिन्छ।

5. पोइन्टर प्रयोग गरेर स्ट्रिङको ह्यान्डलिंग

स्ट्रिङहरूलाई पोइन्टर प्रयोग गरेर ह्यान्डल गर्न पनि सम्भव छ। पोइन्टर प्रयोग गर्दा, अधिक लचिलो मेमोरी व्यवस्थापन सम्भव हुन्छ, तर गलत अपरेसनले त्रुटि वा क्र्यास उत्पन्न गर्न सक्छ, त्यसैले सावधानी आवश्यक छ।

पोइन्टर प्रयोग गरेर स्ट्रिङको असाइनमेंट

पोइन्टर प्रयोग गर्दा, तलको जस्तै घोषणा गरेर असाइन गर्न सकिन्छ।

#include <stdio.h>

int main() {
    char *greeting = "Hello";
    printf("%sn", greeting);
    return 0;
}

उपरोक्त जस्तै, पोइन्टर प्रयोग गरेर सिधै स्ट्रिङ लिटरललाई संकेत गर्न सकिन्छ। तर, लिटरलको सामग्री परिवर्तन गर्न सकिँदैन।

6. सारांश र ध्यान दिनुपर्ने बुँदाहरू

String को असाइनमेंट र अपरेसनमा, साइज ओभर वा पोइन्टरको अनधिकृत पहुँच जस्ता साना त्रुटिहरू सहजै उत्पन्न हुन्छन्। विशेष गरी, strstrcat प्रयोग गर्दा, एरेको साइजलाई विचार गरी, उपयुक्त बफर सुरक्षित गर्नु महत्त्वपूर्ण छ। साथै, पोइन्टर प्रयोग गर्दा पनि, नल क्यारेक्टरको ह्यान्डलिङ र मेमोरी व्यवस्थापनमा ध्यान दिनुहोस्। सही प्रक्रियाले कार्यान्वयन गर्दा, स्ट्रिङ अपरेसनले प्रभावकारी डेटा प्रोसेसिंग सम्भव बनाउँछ।