[सुरुकर्ताहरूका लागि] C भाषाको char array को पूर्ण व्याख्या | स्ट्रिङ सञ्चालनको आधारभूतदेखि उन्नतसम्म

目次

1. परिचय

सी भाषा प्रणाली विकास र एम्बेडेड विकासको क्षेत्रमा अझै पनि व्यापक रूपमा प्रयोग हुने भाषा हो। त्यसमा पनि 「char array」 स्ट्रिङहरूलाई ह्यान्डल गर्नको लागि सबैभन्दा आधारभूत र महत्वपूर्ण सिन्ट्याक्स तत्वहरूमध्ये एक हो।

सी भाषा मा स्ट्रिङ प्रकार मानक रूपमा छैन। त्यसको सट्टा、अक्षरहरूको एरे (char array) प्रयोग गरी स्ट्रिङ व्यक्त गरिन्छ। यो शुरुआतीहरूका लागि धेरै सहज नहुन सक्छ, त्यसैले char array को बुझाइ सी भाषा सिकाइ मा ठूलो बाधा बन्न सक्छ।

साथै, char array र char pointer(char*)को प्रयोग फरक गर्ने, null character(\0)को अस्तित्व जस्ता साना विवरणहरू नबुझिएमा, अनपेक्षित बगको कारण बन्न सक्छ।

यो लेखमा、सी भाषा char array भन्ने विषयमा केन्द्रित भई, आधारभूत प्रयोगबाट उन्नत प्रविधि, र सामान्य त्रुटिहरूको बचाव विधि सम्मलाई सजिलै बुझ्न योग्य रूपमा व्याख्या गर्दछ।

अहिले सी भाषा लाई गहिरो रूपमा सिक्न चाहने व्यक्तिहरू वा char array को पुनरावलोकन गर्न चाहनेहरू कृपया अन्त्यसम्म हेर्नुहोस्। अर्को अध्यायमा पहिले, char array को परिभाषा र आधारभूत संरचना बारे व्याख्या गरिनेछ।

2. char array भनेको के हो?

सी भाषामा ‘char array’ भनेको अक्षरहरू (char प्रकार) लाई धेरै संख्यामा एकसाथ भण्डारण गर्नका लागिको array हो। यो, स्ट्रिङहरू ह्यान्डल गर्नका लागि आधारभूत संरचना हो।

char प्रकार भनेको के हो?

सी भाषामा, char प्रकारले एउटा अक्षर व्यक्त गर्नका लागिको डाटा प्रकार हो। उदाहरणका लागि, निम्नानुसार एउटा अक्षरको चर परिभाषित गर्न सकिन्छ।

char c = 'A';

यसरी, 'A' जस्तो एकल कोट ले घेरिएको एउटा अक्षरलाई char प्रकारको रूपमा परिभाषित गरिन्छ।

char array को आधारभूत syntax

धेरै अक्षरहरू भण्डारण गर्नका लागि, char प्रकारको array प्रयोग गरिन्छ। निम्नानुसार परिभाषित गरिन्छ:

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

यो array ले, "Hello" भन्ने ५ अक्षरको स्ट्रिङमा नल अक्षर (\0) थपेर, ६ अक्षरको मेमोरी क्षेत्र सुरक्षित गरेको छ।

नल अक्षर ('

array को आकार र सावधानीहरू

'
) को महत्व

सी भाषामा, स्ट्रिङको अन्त्य देखाउनका लागि नल अक्षर '\0' प्रयोग गरिन्छ। यो चिन्ह नभएमा, स्ट्रिङ अपरेसन फङ्क्सनहरूले सही रूपमा काम गर्दैनन्, र अपेक्षित नभएको व्यवहार हुन सक्छ।

char str[] = "Hello"; // स्वत: अन्तमा '\0' थपिन्छ

माथि जस्तो, द्विकोटले घेरिएको स्ट्रिङ लिटरल प्रयोग गरेमा, कम्पाइलरले स्वत: '\0' लाई अन्तमा थपिदिन्छ।

3. char एरेको घोषणा र आरम्भिकरण

char array प्रयोग गर्दा, आवश्यक अक्षर संख्या + १ (नल अक्षरको लागि) को आकार सुरक्षित गर्नु आधारभूत हो। आकार अपर्याप्त array मा स्ट्रिङ असाइन गर्दा, बफर ओभरफ्लो को कारण बन्न सक्छ, र कार्यक्रम असामान्य रूपमा समाप्त हुन सक्छ।

स्थिर घोषणा र आरम्भिकरण

char एरे प्रयोग गर्नको लागि, पहिलो चरणमा उपयुक्त घोषणा र आरम्भिकरण आवश्यक छ। यहाँ, C भाषा मा char एरेको आधारभूत घोषणा विधिबाट, आरम्भिकरणको तरिका, र गतिशील मेमोरीको प्रयोगबारे पनि व्याख्या गरिन्छ।

स्ट्रिङ लिटरलद्वारा आरम्भिकरण

सबैभन्दा आधारभूत विधि रूपमा, एरेको आकार स्पष्ट गरी घोषणा गर्ने, र प्रत्येक अक्षरलाई क्रमशः आरम्भिकरण गर्ने तरिका छ।

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

यसरी गर्दा, str लाई "Hello" स्ट्रिङको रूपमा प्रयोग गर्न सकिन्छ। महत्वपूर्ण कुरा भनेको अन्त्यमा अनिवार्य रूपमा '\0' समावेश गर्नु हो।

आकार निर्दिष्ट गरी लिटरल असाइन गर्नु

C भाषामा, तलको जस्तै स्ट्रिङ लिटरल प्रयोग गरेर सरल आरम्भिकरण पनि सम्भव छ।

char str[] = "Hello";

यस अवस्थामा, एरेको आकार स्वचालित रूपमा "Hello" + '\0' को 6 अक्षरको बराबर हुन्छ। यदि स्ट्रिङको सामग्री परिवर्तन गर्न चाहनुहुन्छ भने, char एरेको रूपमा घोषणा गरेर सुरक्षित रूपमा परिवर्तन गर्न सकिन्छ।

गतिशील मेमोरी आरक्षित(malloc)को प्रयोग

एरेको आकार निर्दिष्ट गर्दै, स्ट्रिङ लिटरलले आरम्भिकरण पनि गर्न सकिन्छ, तर आकारको कमीमा ध्यान दिनु आवश्यक छ।

char str[5] = "Hello"; // ❌ त्रुटिको कारण(आकार अपर्याप्त)

उपरोक्त जस्तै, "Hello" ले 5 अक्षर + 1 अक्षर(’\\0’)को कुल 6 अक्षर आवश्यक पर्छ। त्यसैले, कम्तिमा char str[6] बनाउनु आवश्यक छ।

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

यदि अधिक लचिलो रूपमा स्ट्रिङलाई ह्यान्डल गर्न चाहनुहुन्छ भने, malloc प्रयोग गरेर गतिशील रूपमा char एरे सुरक्षित गर्ने विधि छ।

#include 
#include 

char* str = malloc(6 * sizeof(char));
strcpy(str, "Hello");

यस विधिमा, मेमोरीलाई गतिशील रूपमा सुरक्षित गरिन्छ, र त्यसको पोइन्टर मार्फत स्ट्रिङलाई प्रयोग गरिन्छ। प्रयोगपछि, free(str); प्रयोग गरेर मेमोरीलाई मुक्त गर्न नबिर्सनुहोस्।

स्ट्रिङको प्रतिलिपि:strcpy

सी भाषामा,char arrayलाई प्रयोग गरेर स्ट्रिङ सञ्चालन गर्दा, मानक पुस्तकालयका कार्यहरू प्रयोग गर्नु सामान्य हो। यहाँ, आधारभूत स्ट्रिङ सञ्चालनका कार्यहरू र तिनीहरूको प्रयोगबारे, विशिष्ट उदाहरणहरूसँगै व्याख्या गरिन्छ।

स्ट्रिङको संयोजन:strcat

strcpy एउटा स्ट्रिङलाई अर्को char एरामा प्रतिलिपि गर्ने कार्य हो।

#include 

char src[] = "Hello";
char dest[10];
strcpy(dest, src);

ध्यान दिनु पर्ने बुँदा: destमा पर्याप्त आकार सुरक्षित नभएमा, बफर ओभरफ्लोको कारण बन्छ। आकारलाई प्रतिलिपि गर्ने स्ट्रिङको लम्बाइ +1 (नल क्यारेक्टर) सम्म सुरक्षित गर्नुहोस्।

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

strcat दुई स्ट्रिङलाई संयोजन गर्छ। दोस्रो तर्कको सामग्रीलाई पहिलो तर्कको अन्त्यमा थप्छ।

#include 

char str1[20] = "Hello";
char str2[] = " World";
strcat(str1, str2);

यस परिणामले, str1 ले "Hello World" बनाउँछ। यसै गरी, पहिलो तर्कको एरामासंयोजन पछि कुल आकार समेट्न पर्याप्त स्थान हुनु आवश्यक छ।

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

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

#include 

char str[] = "Hello";
int len = strlen(str); // len = 5

नल क्यारेक्टर गणना गरिँदैन, त्यसैले C भाषा मा परिचित नभएका व्यक्तिहरूले ध्यान दिनु आवश्यक छ।

स्ट्रिङको खोजी:strchrstrstr

दुई स्ट्रिङ समान छन् कि छैनन् तुलना गर्न, strcmp प्रयोग गर्नुहोस्।

#include 

char str1[] = "Hello";
char str2[] = "World";

if (strcmp(str1, str2) == 0) {
    // समान
} else {
    // भिन्न
}

यो कार्यले, समान भएमा 0 फिर्ता गर्छ, भिन्न भएमा क्यारेक्टर कोडको अन्तर फिर्ता गर्छ।

5. char array र pointer को भिन्नता

विशिष्ट क्यारेक्टर वा उपस्ट्रिङ खोज्न, तलका कार्यहरू प्रयोग गर्न सकिन्छ।

#include 

char str[] = "Hello World";

// क्यारेक्टर खोजी
char *ptr1 = strchr(str, 'o'); // पहिलो 'o' को पोइन्टर

// उपस्ट्रिङ खोजी
char *ptr2 = strstr(str, "World"); // "World" को सुरु स्थानको पोइन्टर

नपाएमा, दुवै कार्यले NULL फिर्ता गर्छ।

घोषणाको भिन्नता

C भाषामा स्ट्रिङहरूलाई ह्यान्डल गर्दा、char arraychar pointer (char*) जस्तै देखिन्छ, तर वास्तवमा भिन्न गुण राख्दछ। यो भिन्नता सहीसँग बुझेर, मेमोरीको गलत प्रयोग र अनपेक्षित बगहरूलाई रोक्न सकिन्छ।

परिवर्तनयोग्यताको भिन्नता

पहिले घोषणा विधिको भिन्नता हेर्नुहोस्।

char str1[] = "Hello";  // char array
char *str2 = "Hello";   // char pointer

str1 ले वास्तविकता भएको array हो, मेमोरीमा 6 बाइट (\”Hello\” + ‘ ‘) सुरक्षित हुन्छ। अर्कोतर्फ, str2 ले स्ट्रिङ लिटरल संग्रहित भएको मेमोरी क्षेत्रको pointer हो।

मेमोरी संरचनाको भिन्नता

char array भएको str1 ले, एरेभित्रको अक्षरलाई स्वतन्त्र रूपमा परिवर्तन गर्न सक्छ।

str1[0] = 'h'; // OK

तर, char* str2 = "Hello"; जस्तै स्ट्रिङ लिटरललाई pointer द्वारा पहुँच गर्ने अवस्थामा, त्यसको सामग्री परिवर्तन गर्नु अनिर्धारित व्यवहार हो।

str2[0] = 'h'; // ❌ अनिर्धारित व्यवहार(चलाउने समयमा त्रुटि सम्भावना)

आकार प्राप्त गर्ने सम्बन्धी भिन्नता

  • char array स्ट्याकमा
  • charपोइन्टरस्थिरक्षेत्र(पढ्नमात्र)हिपक्षेत्र(mallocआदि)मेमोरीकोह्यान्डलिङमाध्यानदिनुआवश्यक

सारांश: प्रयोगको बिन्दुहरू

एरेको अवस्थामा、sizeof(str1) ले एरेको सम्पूर्ण बाइट संख्या फर्काउँछ।

char str1[] = "Hello";
printf("%lu", sizeof(str1)); // → 6(नल बाइट सहित)

अर्कोतर्फ、pointer मा sizeof(str2) ले pointer को आकार(सामान्यतया4〜8 बाइट) फर्काउँछ, त्यसैले एरेको आकार प्राप्त गर्ने उद्देश्यमा प्रयोग गर्न सकिँदैन

char *str2 = "Hello";
printf("%lu", sizeof(str2)); // → 8(64‑bit वातावरण)

 

6. Function ma char hairetsu ko pass garne tarika

आइटमchar सरणीchar पोइन्टर
सामग्री परिवर्तनसंभवसिद्धान्त अनुसार अस्वीकृत (सिधा शब्दकोषमा)
आकार प्राप्तिsizeof()strlen()
पुनर्लेखनको उद्देश्यउपयुक्तअनुकूल छैन (पढ्न मात्र)
लचिलोपननिश्चित आकारलचिलो छ, तर सावधानी आवश्यक छ

Mool udaharan: char hairetsu lai argument ko rup ma pass garne

C Gengo ma, array lai function ma pass garne bela ‘value pass’ hoina, ‘pointer pass’ garincha. Yo char hairetsu pani same ho, function ma pass garda array ko suru address (pointer) pass garincha.

Yo mechanism bujhna function haru bich ma string haru lai manipulate garna, content lai pariwartan garna parne awastha ma dherai mahatwapurna cha.

Content lai pariwartan garne function

#include 

void printString(char str[]) {
    printf("स्ट्रिंग: %s
", str);
}

int main() {
    char greeting[] = "Hello";
    printString(greeting);
    return 0;
}

Yo udaharan ma, printString function lai char[] type ko argument pass garieko cha, tara bastav ma char* ko rup ma receive garincha. Arthaat, char str[] le char *str jasto nai arth dincha.

Array size ko prabandhan

Function bhitra array ko content lai pariwartan garne bela pani, pass bhayeko address ko madhyam bata seedha data lai manipulate garna sakinchha.

#include 

void toUpperCase(char str[]) {
    for (int i = 0; str[i] != ' '; i++) {
        if ('a' <= str[i] && str[i] <= 'z') {
            str[i] = str[i] - ('a' - 'A');
        }
    }
}

int main() {
    char text[] = "hello world";
    toUpperCase(text);
    printf("%s
", text); // नतिजा: HELLO WORLD
    return 0;
}

Yo jastai, array ko bhitra ko content pariwartan garna chahe pani, pointer ko rup ma handle bhayeko le, function bhitra ko kriya haru call gareko thau ma prabhavit hunchan.

const ko prayog gareko read-only argument

C Gengo ma, function ma array pass garne bela size ko suchana sanga pass hudaina. Tesaile, surakshit rup ma operate garna size lai pani argument ko rup ma pass garnu best practice ho.

void printChars(char str[], int size) {
    for (int i = 0; i < size; i++) {
        printf("%c ", str[i]);
    }
    printf("
");
}

Arko, strlen function lai prayog gari string ko lambaai dynamic rup ma prapt garnu samanya ho. Tara, null-terminated nagareko array ma prayog nagarnu hola.

7. व्यावहारिक उदाहरण: स्ट्रिङको उल्टो क्रम प्रदर्शन

String lai function bhitra pariwartan nagarne bela, const char* ko prayog gari read-only bhayeko pradarshan garnu upayukta tarika ho.

void printConstString(const char *str) {
    printf("%s
", str);
}

Yo anichhahit pariwartan bata bachaucha, ra function ko specification lai spaṣṭa rup ma pradarshan garna madat garcha.

उद्देश्य

यहाँ, अहिलेसम्म सिकेको char एरे को ज्ञानलाई उपयोग गरेर, स्ट्रिङलाई उल्टो क्रममा देखाउने प्रोग्रामलाई वास्तविक रूपमा बनाउने प्रयास गरौं।

नमूना कोड

प्रयोगकर्ताले इनपुट गरेको स्ट्रिङलाई, अन्त्यबाट सुरु तिर एक अक्षर씩 आउटपुट गरिन्छ। यो, एरे अपरेसन, स्ट्रिङको लम्बाइ प्राप्ति, लूप प्रक्रिया अभ्यासको रूपमा अत्यन्त प्रभावकारी छ।

व्याख्या

#include 
#include 

void printReversed(char str[]) {
    int len = strlen(str);
    for (int i = len - 1; i >= 0; i--) {
        putchar(str[i]);
    }
    putchar('\n');
}

int main() {
    char text[100];

    printf("स्ट्रिङ इनपुट गर्नुहोस्:");
    fgets(text, sizeof(text), stdin);

    // लाइन ब्रेक क्यारेक्टर हटाउने (fgets प्रयोग गर्दा उपाय)
    size_t len = strlen(text);
    if (len > 0 && text[len - 1] == '\n') {
        text[len - 1] = '\0';
    }

    printf("उल्टो क्रममा देखाउँदा:");
    printReversed(text);

    return 0;
}

चलाउने उदाहरण

  • fgets
  • इनपुटको अन्त्यमा थपिएको (लाइन ब्रेक क्यारेक्टर)लाई हटाउने प्रक्रिया पनि नबिर्सी गर्नुहुन्छ।
  • strlen()

अनुप्रयोगका टिप्स

स्ट्रिङ इनपुट गर्नुहोस्:OpenAI
उल्टो क्रममा देखाउँदा:IAnepO

8. सामान्य त्रुटिहरू र तिनीहरूको समाधान

यो प्रक्रिया, स्ट्रिङको प्यालिन्ड्रोम जाँचस्ट्याक संरचनाको समझ जस्ता, एल्गोरिदम सिक्ने क्रममा अनुप्रयोगमा पनि जोडिन्छ। अर्कोतिर, पोइन्टर गणना प्रयोग गरेर पुनर्लेखन सम्भव भएकाले, अझ उन्नत अभ्यास सामग्री पनि बनाउँछ।

1. नल टर्मिनेटर(

2. बफर साइजको अभाव

)को बिर्सनु

C भाषा मा char एरे लाई ह्यान्डल गर्दा, शुरुआतीदेखि उन्नत प्रयोगकर्तासम्म सजिलै पर्न सक्ने केही जालहरू छन्। यहाँ, बारम्बार देखिने त्रुटिहरू र तिनीहरूको रोकथाम उपायहरू・समाधानहरू लाई विशिष्ट रूपमा व्याख्या गर्नेछौं।

3. स्ट्रिङ लिटरलको लेखन परिवर्तन

सबैभन्दा सामान्य गल्ती मध्ये एक हो, स्ट्रिङको अन्त्यमा नल क्यारेक्टर(\0)नलगाउने हो।

char str[5] = {'H', 'e', 'l', 'l', 'o'}; // ❌ अन्त्यमा '\0' छैन
printf("%s\n", str); // अपरिभाषित व्यवहार

समाधान:

char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; // ✅ सही

वा, स्ट्रिङ लिटरल प्रयोग गर्दा नल क्यारेक्टर स्वचालित रूपमा थपिन्छ।

4. fgets को newline क्यारेक्टरको प्रक्रिया बिर्सनु

strcpy वा strcat जस्ता फङ्सनहरूमा, प्रतिलिपि गन्तव्य एरेको साइज पर्याप्त नहुनु मेमोरी क्षति(बफर ओभरफ्लो)निम्त्याउँछ।

char str1[5];
strcpy(str1, "Hello"); // ❌ एरे साइज 5 मा 6 क्यारेक्टर प्रतिलिपि

समाधान:

  • प्रतिलिपि गन्तव्यमा (उदाहरण: 「अक्षर संख्या + 1」)
  • अझ सुरक्षित को प्रयोग पनि विचार गर्नुहोस्
char str1[6];
strncpy(str1, "Hello", sizeof(str1) - 1);
str1[5] = '\0'; // सावधानीका लागि अन्त्यमा नल क्यारेक्टर स्पष्ट रूपमा राख्नु

5. पोइन्टर र एरेको भ्रम

char *str = "Hello"; जस्तै घोषणा गरिएको पोइन्टरले, लेख्न नसक्ने मेमोरी क्षेत्रलाई संकेत गरिरहेको सम्भावना हुन्छ। यसमा लेख्ने प्रयास गर्दा, रनटाइम त्रुटि हुन्छ।

char *str = "Hello";
str[0] = 'h'; // ❌ रनटाइममा Segmentation fault

समाधान:

char str[] = "Hello"; // ✅ लेख्न सकिने एरेको रूपमा घोषणा
str[0] = 'h';

9. सारांश

fgets प्रयोग गरेर स्ट्रिङ प्राप्त गर्दा, अन्त्यमा newline क्यारेक्टर(\n)बाँकी रहन्छ भन्ने कुरामा ध्यान दिनु आवश्यक छ।

fgets(str, sizeof(str), stdin);
// str मा "Hello\n\0" जस्तै सामग्री हुन्छ

समाधान:

size_t len = strlen(str);
if (len > 0 && str[len - 1] == '\n') {
    str[len - 1] = '\0';
}

यो लेखबाट सिकेका कुराहरू

दृश्य समान भएको कारण, char*char[] लाई भ्रमित गरी प्रयोग गर्दा, अपरिभाषित व्यवहार हुन सक्छ। साइज प्राप्ति (sizeof) को भिन्नतालेख्न सक्ने/नसक्ने भिन्नता बारे सचेत रहनु आवश्यक छ।

भविष्यको सिकाइका लागि सल्लाह

यस लेखमा, 「C भाषा को char एरे」 बारेमा, आधारभूतदेखि अनुप्रयोगसम्म चरणबद्ध रूपमा व्याख्या गरेका छौं। अन्तमा, लेखको सामग्रीलाई पुनरावलोकन गर्दै, भविष्यको अध्ययनको दिशानिर्देश प्रस्तुत गर्नेछौं।

यो लेखबाट सिकेका कुराहरू

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

भविष्यको सिकाइका लागि सल्लाह

char एरेको प्रयोग बुझ्नु भनेको C भाषामामेमोरी सञ्चालनको आधार बुझ्ने पहिलो कदम हो। यहाँ सिकेको ज्ञानलाई तलका जस्तै अर्को चरणहरूमा प्रयोग गर्न सकिन्छ।

  • प्वाइन्टर गणना
  • डायनामिक मेमोरी व्यवस्थापनmallocfree
  • संरचनासँगको संयोजन

अर्काको लेखेको कोड पढेर, आफूसँग नथिएँका दृष्टिकोण र लेखन शैलीलाई आत्मसात गर्न सकिन्छ। वास्तविक परियोजना वा OSS(ओपन सोर्स सफ्टवेयर) पढ्ने बानी पनि अत्यन्त प्रभावकारी हुन्छ।

C भाषा स्वतन्त्रता धेरै भएको कारण, सही तरिकाले नह्यान्डल गरेमा जोखिमपूर्ण पक्ष पनि हुन्छ, तर आधारलाई बिस्तारै जोड्दै गएमा यो अत्यन्त शक्तिशाली हतियार बनिन्छ। char एरेको समझ यो पहिलो कदम हो। कृपया, यो लेखलाई सन्दर्भ गर्दै, क्रमशः आफ्नो सीपलाई उन्नत गर्नुहोस्।

侍エンジニア塾