String in C in Hindi | C Language में String की Complete Guide

String in C in Hindi समझना हर उस student के लिए ज़रूरी है जो C Programming सीख रहें हैं। सोचो — जब कोई program आपका नाम पूछता है, कोई message दिखाता है, या address store करता है — यह सब अंदर से String की वजह से होता है। बिना String के कोई भी real-world program अधूरा है। C Language में String basically characters का एक group होता है जो memory में एक साथ store होता है — और हर string के आखिर में एक special character ‘\0’ (null character) होता है जो बताता है कि string यहाँ खत्म हो गई।

1. String क्या होता है?

हम जो भी Text देखते हैं—जैसे आपका नाम, कोई पता, या “Good Morning!”—यह सब कंप्यूटर के लिए एक String है।

  • एक String, Characters (अक्षरों) का एक Group (समूह) होता है।
  • C Language में string, हर string हमेशा एक ख़ास Character के साथ खत्म होती है, जिसे Null Character (या ‘\0’) कहते हैं। यह ‘\0’ ही कंप्यूटर को बताता है कि यहाँ string खत्म हो गई है।

Character Array से इसका संबंध

C Language में, string को Store करने के लिए हम एक Character Array (अक्षरों का ऐरे) बनाते हैं। एक String = एक Character Array जिसके आखिर में ‘\0’ लगा हो।

Example: एक simple string print करने का प्रोग्राम

  #include <stdio.h>

int main() {
    char wish[] = "Good Morning!"; // यह एक string है।
    printf("Message: %s\n", wish);   // %s का उपयोग String को print करने के लिए किया जाता है।
    return 0;
}

Output: Good Morning!

2️. String Declaration और Initialization

C Language में String बनाने का मतलब है Memory में उसके लिए जगह आरक्षित (Reserve) करना।

String को कैसे Declare करते हैं

हमें  C Compiler को बताना पड़ता है कि हम एक char Type का Array बना रहे हैं और उसका नाम क्या होगा, साथ ही उसमें अधिकतम कितने अक्षर आ सकते हैं।

String Declaration Example:

char city[30]; // ‘city’ नाम की string, जिसमें 30 अक्षर तक आ सकते हैं।

Initialization के दो तरीके (Value देना)

हम string को शुरू में ही value दे सकते हैं:

Character array के रूप में: एक-एक अक्षर को कर्ली ब्रेसेज़ {} में लिखना और अंत में ‘\0’ लगाना ज़रूरी है।

Example:
char colors[] = {‘R’, ‘E’, ‘D’, ‘\0’}; // थोड़ा मुश्किल तरीका

Double quotes (” “) के साथ (सबसे आसान तरीका): जब हम String को Double quotes में Initialize करते हैं तो C compiler अपने आप ही अंत में ‘\0’ जोड़ देता है।
char name[] = “Anwar “; //इस Example में compiler अपने आप ‘\0’ जोड़ देता है।

Example:

char subject[15] = “C Programming”;

String Example Program in C

निचे दिये गये Program में string को 2 type से String को Initialize करने का example बताया गया है।

#include <stdio.h>

int main() {
    // 1. String को Array की तरह declaration और initialize करने का तरीका
    char data1[] = {'L', 'I', 'V', 'E', '\0'};
    printf("Data 1: %s\n", data1);

    // 2. Double quotes आसान तरीका
    char data2[] = "CODE";
    printf("Data 2: %s\n", data2); 

    return 0;
}

Output:

Data 1: LIVE

Data 2: CODE

c language में string explain

3️. String Input और Output 

जब हम कोई program बनाते हैं, तो अक्सर user से कुछ न कुछ लेना पड़ता है — जैसे उसका नाम, शहर, या कोई message। और फिर उसे screen पर दिखाना भी पड़ता है।

यही काम करते हैं Input और Output functions।

C Language में String के लिए mainly तीन functions use होते हैं —

scanf() — सबसे आसान, लेकिन एक कमी है

scanf() से आप user की string ले सकते हो। लेकिन इसमें एक problem है —

यह Space आने पर रुक जाता है।

मतलब अगर user ने “Anwar Husain” लिखा, तो scanf() सिर्फ “Anwar” लेगा और बाकी छोड़ देगा।

#include <stdio.h>

int main() {
    char name[20];

    printf("Enter your name: ");
    scanf("%s", name);  // Space से पहले का word ही लेगा

    printf("your name is : %s\n", name);

    return 0;
}

Output:
Enter your name : Anwar Husain
your name is : Anwar ← “Husain” छूट जायेगा।

4️. String Functions in C (strlen, strcpy, strcat, strcmp examples)

C Programming में string.h name की एक header file होती है जिसमे string पर काम करने के लिए बहोत सारे ready made function होते है। जिन्हे हम इस्तेमला करके अपने काम को और आसान बना सकते है। निचे कुछ function और उनके काम बताये गए हैं।

 Header File: इन functions का उपयोग करने के लिए हमें हमेशा सबसे ऊपर <string.h> लिखना होता है।

 आम तौर पर इस्तेमाल होने वाले Functions:

Functionकाम (Operation)जैसे…
strlen(s)String की लंबाई (Length) बताता है।strlen(“Code”) returns 4
strcpy(dest, src)एक string (src) को दूसरी में कॉपी (dest) करता है।strcpy(a, “Hi”) में a अब “Hi” बन जाएगा।
strcat(dest, src)दो strings को जोड़ता (concatenate) है।strcat(“Hello”, “World”) बन जाएगा “HelloWorld”।
strcmp(s1, s2)दो strings की तुलना (compare) करता है।अगर समान हैं तो 0 देता है।
strrev(s)String को उल्टा (reverse) कर देता है।strrev(“ABCD”) बन जाएगा “DCBA”।

Example Program (सभी functions)

#include <stdio.h>
#include <string.h> // String related functions जैसे strlen(), strcpy(), strcat(), strcmp() के लिए
int main() {
char string1[20] = "Learning";
char string2[] = " C";
char string3[20];

// 1️ strlen() - किसी string की लंबाई बताता है (null character '\0' को छोड़कर)
printf("Length of string1: %zu\n", strlen(string1)); // Output: 8
// 2️ strcpy() - एक string को दूसरी में copy करने के लिए
strcpy(string3, string1);
printf("Copied string3: %s\n", string3);
// 3️ strcat() - दो strings को जोड़ने के लिए (concatenate)
strcat(string1, string2); // अब string1 "Learning C" बन जाएगा
printf("Joined string1: %s\n", string1);
// 4️ strcmp() - दो strings की तुलना करने के लिए (compare करता है character by character)
// Example: "Hello" vs "Jello"
// अगर पहला string lexicographically छोटा है → result < 0
// अगर दोनों same हैं → result = 0
// अगर पहला बड़ा है → result > 0
printf("Compare (\"Hello\" vs \"Jello\"): %d\n", strcmp("Hello", "Jello"));
return 0;
} 

Output:

Length of string1: 8

Copied string3: Learning

Joined string1: Learning C

Compare (“Hello” vs “Jello”): -1

5️. C Language में string को Character by Character Access करना

चूँकि C Language में string एक character array है, इस लिए हम Index (जगह की संख्या) का उपयोग करके किसी भी अक्षर तक पहुँच सकते हैं या उसे बदल सकते हैं।

  • Index हमेशा 0 से शुरू होता है (पहला अक्षर)।
  • Index 1 दूसरा अक्षर है, और इसी तरह string के अंत तक।

Example Program (string में character को बदलना)

#include <stdio.h>
int main() {
char data[] = "FAIL";
// Original string दिखाना
printf("Original string: %s\n", data);
// Index 0 पर character बदल रहे हैं — 'F' की जगह 'M' डाल रहे हैं
data[0] = 'M';
// Index 3 पर character बदलना (यहाँ पहले से 'L' है, तो output में कोई फर्क नहीं पड़ेगा)
data[3] = 'L';
// अब final string print करें
printf("Modified string: %s\n", data);
return 0;
} 

Output:

Original string: FAIL

Modified string: MAIL

6️. C Language में String Traversing

C Language में string Traversing का मतलब है Loop का उपयोग करके string के पहले अक्षर से आखिरी अक्षर तक जाना।

Null character (‘\0’) का महत्व

Traversing करते समय, Null character (‘\0’) की जाँच बार बार किया जाता है। जैसे ही loop ‘\0’ null index पर पहुंचता है, वैसे ही program को मालूम पड़ जाता है, कि string खतम हो गयी है। और loop terminate हो जाता है।

Example Program (खुद से String का Length लंबाई निकालना)

#include <stdio.h>
int main() {
char myStr[] = "Loop Test";
int length = 0;
int i = 0; // index variable
// जब तक character '\0' (null terminator) नहीं मिलता, loop चलता रहेगा
while (myStr[i] != '\0') {
length++; // हर बार एक character मिलने पर count बढ़ाते हैं
i++; // अगले index पर move करते हैं
}
printf("String: %s\n", myStr);
printf("Calculated Length: %d\n", length); // Output: 9
return 0;
} 

Output:

String: Loop Test

Calculated Length: 9

7️. User-defined String Operations (अपने खुद के String Functions)

एक Advance तरीका है कि हम <string.h> library का उपयोग किए बिना, खुद की लॉजिक से string functions बनाएँ। यह दिखाता है कि आपको string concept अच्छे से समझ में आ गया है। आप भी कमेंट में बताएं आपने कौनसा function बनाया इस post को पढ़ने के बाद। 

Example Programs (2 custom-made functions)

#include <stdio.h>  

// 1️ Custom function — string को manually copy करने के लिए (strcpy जैसा)
void cpystring(char *source, char *target) {
    int i = 0;

    // जब तक source खत्म नहीं होता ('\0' नहीं मिलता)
    while (source[i] != '\0') {
        target[i] = source[i];  // हर character copy करो
        i++;
    }

    target[i] = '\0';  // अंत में null character लगाना जरूरी है
    printf("\nString copied successfully!");
}

// 2️ Custom function — दो strings को manually जोड़ने के लिए (strcat जैसा)
void my_strcat(char *dest, char *src) {
    int i = 0, j = 0;

    // पहले destination string के end तक जाओ
    while (dest[i] != '\0') {
        i++;
    }
    dest[i++] = ' '; // दोनों String के बीच में space के लिए 
    // अब source string को destination के end में जोड़ो
    while (src[j] != '\0') {
        dest[i] = src[j];
        i++;
        j++;
    }

    dest[i] = '\0';  // नई string को null character से खत्म करो
}

int main() {
    char s1[50] = "First";   // पहली string
    char s2[] = "Second";    // दूसरी string
    char s3[50];             // copy store करने के लिए string

    // Custom copy function का use
    cpystring(s1, s3);
    printf("\nSource String : %s", s1);
    printf("\nCopied String : %s", s3);

    // Custom strcat function का use
    my_strcat(s1, s2);
    printf("\n\nAfter Concatenation : %s", s1);  // Output: FirstSecond
    
    return 0;
}

Output:

String copied successfully!

Source String : First

Copied String : First

After Concatenation : First Second

8️. Conclusion (निष्कर्ष)

बस! अब आप String in C in Hindi के बारे में वो सब कुछ जानते हो जो एक beginner को जानना चाहिए।

हमने इस post में काफी कुछ cover किया — String क्या होती है, उसे declare और initialize कैसे करते हैं, user से input कैसे लेते हैं, predefined functions जैसे strlen(), strcpy(), strcat() कैसे काम करते हैं — और सबसे मज़ेदार part — खुद के custom functions बनाना।

cpystring() और my_strcat() जैसे functions खुद बनाकर आपने यह समझ लिया कि अंदर से यह सब कैसे काम करता है। यही असली learning है — सिर्फ functions याद करना नहीं, बल्कि उनके पीछे का logic समझना।

String in C in Hindi सीखने का सबसे अच्छा तरीका है — खुद practice करो।

String से related कोई भी छोटा program लिखो — जैसे user का नाम reverse करो, vowels count करो, या दो strings compare करो। जितना लिखोगे, उतना strong होगा।

नीचे कुछ Quizzes और FAQs दिए गए हैं — Quizzes पहले खुद solve करने की कोशिश करो, फिर answer देखो। यही तरीका है जो concept को दिमाग में पक्का करता है।

C Language में String के Important Quizzes

C Language String Quiz

Q1. नीचे में से कौन-सा string declaration valid है?

A. char name = "Anwar";
B. char name[] = "Anwar";
C. char name[5] = 'Anwar';
D. string name = "Anwar";
Answer: B
Reason: String को हमेशा array के रूप में declare किया जाता है और double quotes (” “) में लिखा जाता है।

Q2. char city[10] = “Delhi”; — इस string की length क्या होगी (null character सहित)?

A. 5
B. 6
C. 10
D. 4
Answer: B
Reason: “Delhi” में 5 characters हैं + 1 null character ‘\0’ = 6 bytes।

Q3. strlen(“Code”) का output क्या होगा?

A. 3
B. 4
C. 5
D. 6
Answer: B
Reason: strlen() null character को count नहीं करता, इसलिए output 4 होगा।

Q4. strcpy() function क्या करता है?

A. दो strings को जोड़ता है
B. एक string को दूसरी में copy करता है
C. strings की तुलना करता है
D. string को reverse करता है
Answer: B
Reason: strcpy(dest, src) source की पूरी string को destination में copy करता है।

Q5. strcmp(“A”, “B”) क्या return करेगा?

A. 0
B. Positive value
C. Negative value
D. Error
Answer: C
Reason: ‘A’ ASCII में ‘B’ से छोटा है, इसलिए strcmp() negative value return करेगा।

Q6. नीचे दिए गए loop का काम क्या है?

while(name[i] != '\0') {
i++;
}
Answer: यह loop string की length count करता है जब तक null character नहीं आ जाता।

Q7. my_strcat(“Good”, “Day”) का result क्या होगा?

A. Good
B. Day
C. GoodDay
D. Error
Answer: C
Reason: my_strcat() दोनों strings को जोड़कर एक नई string बनाता है — “GoodDay”।

 FAQS : String in c programming

Q1. C में string declare और initialize कैसे करते हैं?

Ans: C में string को char array के रूप में declare किया जाता है। जैसे:

char name[10] = "Anwar";

यहाँ name एक character array है जो end में ‘\0’ (null character) से terminate होता है। बिना initialize किए भी declare कर सकते हैं — char name[20]; — लेकिन तब value बाद में assign करनी होगी।

Q2. C Language में predefined string functions कौन-कौन से हैं?

Ans: कुछ commonly used predefined functions ये हैं:

  • strcpy() – एक string को दूसरी में copy करने के लिए
  • strcat() – दो strings को जोड़ने के लिए
  • strlen() – string की length जानने के लिए
  • strcmp() – दो strings को compare करने के लिए
  • strrev() – string को reverse करने के लिए
Q3. क्या हम अपने custom string functions बना सकते हैं?

Ans: हाँ, बिल्कुल। आप predefined functions जैसे strcpy() या strcat() की जगह अपने custom logic लिख सकते हैं। इससे आपको string handling का actual working mechanism अच्छे से समझ आता है। उदाहरण:

void cpystring(char *src, char *dest) {
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}
Q4. string में null character (‘\0’) का क्या role होता है?

Ans: Null character ‘\0’ string के end को define करता है। बिना इसके compiler को पता नहीं चलेगा कि string कहाँ खत्म होती है, जिससे garbage values print हो सकती हैं।

Q5. C में string input लेने का सही तरीका क्या है?

Ans: आप scanf() या gets() (deprecated) का use कर सकते हैं। लेकिन space वाली string के लिए fgets() best option है। उदाहरण:

char name[30];
fgets(name, sizeof(name), stdin);

यह newline सहित input लेता है और buffer overflow से भी बचाता है।

यह post आपको कैसा लगा, comment में ज़रूर बताएं, और इसे share करके किसी और को C programming सीखने में मदद करें।

Thanks For Visit “AnwarCodes”

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top