स्ट्रिंग क्या है? – What is String in C in Hindi

हेलो फ्रेंड्स आज के इस आर्टिकल में हम स्ट्रिंग (String) के बारे में बात करने वाले है | 

आज हम विस्तार से जानेंगे कि स्ट्रिंग क्या है? (What is String in C in Hindi) और सी लैंग्वेज में स्टिंग का उपयोग कैसे करते है?

तो चलिए बिना समय गवाए सबसे पहले जानते है कि String Kya Hai?

स्ट्रिंग क्या है? - What is String in C in Hindi

स्ट्रिंग क्या है? (What is String in C in Hindi) 

String, करैक्टर का एक Array है जिसका उपयोग text जैसे word और sentence को manipulate करने के लिए किया जाता है | 

आसान शब्दों में “Characters का ऐसा क्रम जो null करैक्टर (‘\0’) से terminate (समाप्त) होता है स्ट्रिंग कहलाता है |” जैसे – किसी शहर का नाम (उदाहरण – भोपाल, रायपुर , दिल्ली), किसी व्यक्ति का नाम (उदाहरण – रमेश , सुरेश), ये सभी एक स्ट्रिंग है जिनका आखरी करैक्टर null करैक्टर (‘\0’) होता है | 

नोट -:  null करैक्टर (‘\0’)  कोई प्रिंटेबल सिंबल नहीं है यह एक स्पेस की तरह होता है जिसके होने से हमको स्ट्रिंग में कितने करैक्टर है जानने की जरुरत नहीं होती | null करैक्टर (‘\0’) को देख कर हम आसानी से बता सकते है कि कोई स्ट्रिंग कहा समाप्त हो रहा है | 

null करैक्टर (‘\0’) का ASCII Code जीरो (0) होता है | 

एक स्ट्रिंग और एक नार्मल ऐरे में बस इतना अंतर होता है कि स्ट्रिंग null करैक्टर (‘\0’) से terminate (समाप्त) होता है और नार्मल ऐरे में ऐसा नहीं होता | 

करैक्टर टाइप के ऐरे में हर करैक्टर मेमोरी में एक बाइट मेमोरी लेता है और आखरी करैक्टर हमेशा null करैक्टर(0) होता है | 

स्ट्रिंग का आखरी करैक्टर null करैक्टर (‘\0’)  इसलिए होना आवश्यक है ताकि कम्पाइलर को पता चल सके कि यह स्ट्रिंग कहा समाप्त हो रहा है | 

Declaration of String in C

सी लैंग्वेज में हम स्ट्रिंग को कुछ इस तरह से डिक्लेअर कर सकते है -:

char str_name[size];

char -: यह एक करैक्टर डेटा टाइप है जो indicate करता है कि इसकी मदद से बने वेरिएबल में हम केवल करैक्टर स्टोर कर सकते है | 

str_name –: आप जो वेरिएबल बनाने वाले है उस वेरिएबल का नाम इस str_name की जगह आएगा | ये नाम आप अपने हिसाब से हिसाब से कुछ भी रख सकते है जैसे – my_string , name, city आदि | 

size –: यह स्ट्रिंग के आकर हो बताता है यदि यहाँ पर 20 लिखा होगा तो char स्ट्रिंग वेरिएबल की साइज 20 होगी और ये केवल 20 करैक्टर ही स्टोर कर पायेगा | स्ट्रिंग के आकर के हिसाब से आप स्ट्रिंग वेरिएबल की साइज अपने हिसाब से डिफाइन कर सकते है | 

Initializing a String in C

स्ट्रिंग को हम कई अलग अलग तरीको से initialize कर सकते है | आइये जानते है स्ट्रिंग को initialize करने के उन सभी तरीको के बारे में | 

निचे दिए गए example में हमने स्ट्रिंग का नाम str रखा है और उसमे MasterProgramming को initialize किया है | 

Method – 1 

char str[] = "MasterProgramming";

जब हम स्ट्रिंग वेरिएबल को इस तरह से initialize करते है तब null कैरेक्टर स्ट्रिंग के आखिर में आटोमेटिक add हो जाता है | इस तरह के initialization में हमे स्ट्रिंग के साइज को डिक्लेअर करनी की जरुरत नहीं होती | जितने करैक्टर हम स्ट्रिंग वेरिएबल में initialize करते है, वेरिएबल की साइज भी उतने करैक्टर की हो जाती है | 

Note -: एक सिंगल करैक्टर को हम single quote ( ‘a’ ) से डिफाइन करते है और एक स्ट्रिंग को जो की करैक्टर का एक ग्रुप होता है को  double quote ( “Jeetu” ) से रिप्रेजेंट किया जाता है |  

Example -:

#include<stdio.h>  
void main ()  
{ 
    char str[] = "MasterProgramming";    
    int i;   
    int count = 0;  
    for(i=0;str[i]!='\0';i++)  
    {  
        {  
            count ++;  
        }  
    }  
    printf("The number of Characters is: %d",count);  
}  

Output -: 

The number of Characters is: 17

जैसे ऊपर दिए गए example में str[] की साइज 17 है क्योकि इसमें हमने 17 करैक्टर के स्ट्रिंग को initialize किया है | 

Method – 2

char str[25] = "MasterProgramming";

इस तरह के initialization में null कैरेक्टर स्ट्रिंग के आखिर में आटोमेटिक add हो जाता है हमे अलग से null करैक्टर को स्ट्रिंग के आखिर में लिखने की जरुरत नहीं पड़ती |

Method – 3

char str[] = {'M','a','s','t','e','r','P','r','o','g','r','a','m','m','i','n','g','\0'};

जब हम करैक्टर ऐरे को इस तरह से initialize करते है तब null कैरेक्टर स्ट्रिंग के आखिर में आटोमेटिक add नहीं होता है इसलिए हमे null कैरेक्टर को खुद से स्ट्रिंग के आखिर में add करना पड़ता है | 

इस तरह के initialization में हमे स्ट्रिंग के साइज को डिक्लेअर करनी की जरुरत नहीं होती | जितने करैक्टर हम स्ट्रिंग वेरिएबल या करैक्टर ऐरे में initialize करते है , वेरिएबल की साइज भी उतने करैक्टर की हो जाती है | 

Example -:

#include<stdio.h>  
void main ()  
{ 
    char str[] = {'M','a','s','t','e','r','P','r','o','g','r','a','m','m','i','n','g','\0'};
    int i;   
    int count = 0;  
    for(i=0;str[i]!='\0';i++)  
    {  
        {  
            count ++;  
        }  
    }  
    printf("The number of Characters is: %d",count);  
}  

Output -: 

The number of Characters is: 17

जैसे ऊपर दिए गए example में str[] character array की साइज 17 है क्योकि इसमें हमने 17 करैक्टर के स्ट्रिंग को initialize किया है | 

नोट –  null कैरेक्टर (\0) को स्ट्रिंग के साथ नहीं गिना जाता | यह एक ऐसा करैक्टर है जो सिर्फ ये बताने के लिए उपयोग किया जाता है कि स्ट्रिंग कहा समाप्त हो रहा है यदि हम स्ट्रिंग के आखिर में null कैरेक्टर का उपयोग नहीं करेंगे तो कम्पाइलर को पता नहीं चलेगा की स्ट्रिंग कहा पर समाप्त हो रहा है | 

Method – 4

char str[18] = {'M','a','s','t','e','r','P','r','o','g','r','a','m','m','i','n','g','\0'};

इस तरह के initialization में हमे अलग से null करैक्टर को स्ट्रिंग के आखिर में लिखना पड़ता है | 

आइये स्ट्रिंग को और अच्छे से समझने के लिए एक प्रोग्राम बनाते है |

Example -:

// C program to illustrate strings
#include<stdio.h>
void main()
{   
    // declare and initialize string

    char str[] = "MasterProgramming";  
      
    printf("%s",str);   // print string
   
}

इस example में हमने str नाम से एक ऐरे डिक्लेअर किया और उसमे MasterProgramming स्ट्रिंग को स्टोर करके printf फंक्शन की मदद से स्ट्रिंग को स्क्रीन में प्रिंट करा दिया 

Output -:

MasterProgramming

String Input 

सी लैंग्वेज में हम स्ट्रिंग को कई तरीको से इनपुट ले सकते है आइयें जानते है उन तरीको के बारे में -:

  • scanf() Function द्दारा 
  • %[^\n]s द्वारा
  • gets() फंक्शन द्दारा 

Method 1 – scanf() Function  द्दारा 

scanf() Function द्वारा हम स्ट्रिंग को Array Elements में आसानी से स्टोर कर सकते है |

Example -:

#include<stdio.h>  
int main ()  
{  
    char s[20];  
    printf("Enter the string\n");  
    scanf("%s",s);  
    printf("\nYou entered String is :%s",s);  
    return 0;
}  

Output -:

Enter the string
Master Programming
You entered String is: Master

इस उदाहरण में हमने scanf() Function द्वारा स्ट्रिंग को s ऐरे में इनपुट कराया और Printf() द्वारा ऐरे के अंदर स्टोर स्ट्रिंग को स्क्रीन में प्रिंट भी कराया है |

Note -: जैसे इन्टिजर टाइप के वैल्यू को किसी वेरिएबल में स्टोर करने और किसी वेरिएबल में स्टोर इन्टिजर वैल्यू को प्रिंट करने के लिए scanf() और printf() फंक्शन में %d Format Specifier का उपयोग होता है उसी तरह %s Format Specifier का उपयोग स्ट्रिंग को वेरिएबल में इनपुट करने और वेरिएबल में स्टोर स्टिंग को प्रिंट करने के लिए किया जाता है | 

scanf() फंक्शन द्वारा जब हम कोई स्ट्रिंग इनपुट लेते है तब scanf() स्पेस के बाद के स्ट्रिंग करैक्टर को  वेरिएबल में स्टोर नहीं कर पता | जैसे – Master Programming, इसमें Master और Programming के बिच एक स्पेस है इसलिए scanf() केवल Master को s वेरिएबल में स्टोर करेगा और स्पेस के बाद के स्ट्रिंग Programming को इग्नोर कर देगा | 

scanf() फंक्शन द्वारा जब हम कोई स्ट्रिंग इनपुट लेते है तब Compiler स्पेस देख कर समझता है की स्ट्रिंग समाप्त हो गया है और वो स्पेस के बाद के स्ट्रिंग को वेरिएबल में स्टोर नहीं कर पता | 

यदि हमे स्पेस के बाद के स्ट्रिंग को भी वेरिएबल में स्टोर करना है तो इसके लिए हमे स्टेटमेंट को कुछ दूसरे तरीके से लिखना पड़ता है | आइये method 2 में हम उस दूसरे तरीके के बारे में बात करते है | 

Method 2 – %[^\n]s द्वारा

जैसे की मैंने ऊपर बताया है %s केवल सिंगल स्ट्रिंग को स्टोर कर सकते है स्पेस के बाद के स्ट्रिंग को स्टोर नहीं कर पता | यदि हम स्पेस के बाद के स्ट्रिंग को भी स्टोर करना चाहते है तो इसके लिए स्टेटमेंट को हमे कुछ इस तरह से लिखना पड़ेगा – %[^\n]s 

Example -:

#include<stdio.h>  
int  main ()  
{  
  char s[20];  
  printf("Enter the string\n");  
  scanf("%[^\n]s",s);  
  printf("\nYou Entered String Is: %s",s);  
  return (0);
}  

Output -:

Enter the string
Master Programming
You Entered String Is: Master Programming

Method 3 – gets() फंक्शन द्वारा

gets() फंक्शन द्वारा भी हम स्ट्रिंग को वेरिएबल में आसानी से स्टोर करा सकते है | जब हम gets() फंक्शन का उपयोग स्ट्रिंग इनपुट लेने के लिए करते है तब हम जितने चाहे स्पेस वाले स्ट्रिंग को वेरिएबल में स्टोर कर सकते है |

इससे पिछले method में हमने जाना था कि जब हम स्ट्रिंग को scanf() फंक्शन द्वारा इनपुट लेने का प्रयाश करते थे तब scanf() फंक्शन केवल सिंगल स्ट्रिंग को इनपुट ले पता था |

यदि हमे एक से ज्यादा स्पेस वाले स्ट्रिंग को scanf() फंक्शन द्वारा इनपुट लेने का प्रयाश करते तो scanf() फंक्शन स्पेस के बाद के स्ट्रिंग को skip कर देता था मगर gets() फंक्शन में ऐसा नहीं होता | 

gets() फंक्शन की मदद से हम स्पेस के बाद के करैक्टर को भी आसानी से वेरिएबल में स्टोर कर सकते है | 

Example -:

#include<stdio.h>  
int  main ()  
{  
    char s[20];  
    printf("Enter the string\n");  
    gets(s);  
    printf("\nYou Entered String Is: %s",s);  
   return (0);
} 

Output -:

Enter the string\n
Jeetu Sahu
You Entered String Is: Jeetu Sahu

String Output 

सी लैंग्वेज में हम एक स्ट्रिंग को अलग अलग तरीको से स्क्रीन में डिस्प्ले करा सकते है आइयें जानते है उन तरीको के बारे में -:

  • printf() Function द्दारा 
  • puts() फंक्शन द्दारा 

Method 1 – printf() Function द्वारा  

printf() फंक्शन द्वारा हम %s format specifier की मदद से स्ट्रिंग वेरिएबल में स्टोर वैल्यू को आसानी से प्रिंट करा सकते है | 

Example -:

#include<stdio.h>  
int  main ()  
{  
  char s[20] = "MasterProgramming";  
  printf("\nYou Entered String Is: %s",s);  
  return (0);
} 

Output -:

You Entered String Is: MasterProgramming

printf() द्वारा हम किसी स्ट्रिंग के एक एक करैक्टर को अलग से भी प्रिंट करा सकते है | इसके लिए हम %c  format specifier का उपयोग printf() फंक्शन के अंदर करते है | 

#include<stdio.h>  
int  main ()  
{  
    char s[20] = "Jeetu Sahu"; 
    int i;
    printf("You Entered String Is:");
    for(i=0;s[i]!='\0';i++){
    printf("\n%c",s[i]);  
    }
   return (0);
} 

Output -:

Method 2 – puts() Function द्दारा 

puts() फंक्शन द्वारा जब हम स्ट्रिंग को स्क्रीन में प्रिंट कराते है तब हमे puts फंक्शन के पैरेंथेसिस () में केवल उस स्ट्रिंग का नाम लिखना पड़ता है 

#include<stdio.h>  
int  main ()  
{  
    char s[20] = "Jeetu Sahu"; 
    printf("String is: ");
    puts(s);
   return (0);
} 

Output -:

String is: Jeetu Sahu

Input & Output Strings in C using Scanf() and Printf() functions

#include<stdio.h>  
int  main ()  
{  
    char s[20];  
    printf("Enter Your Name\n");  
    scanf("%s",s);  
    printf("You Name Is: %s",s);  
   return (0);
} 

Output -:

Enter Your Name\n
Jeetu
You Name Is: Jeetu

Input & Output Strings in C using gets() and puts() functions

#include<stdio.h>  
int  main ()  
{  
    char s[20];  
    printf("Enter Your Name\n");  
    gets(s);  
    printf("Your Name is : ");  
    puts(s);  
   return (0);
}

Output -:

Enter Your Name
Jeetu Sahu
Your Name is : Jeetu Sahu

Read More -:

Conclusion 

दोस्तों आशा करता हु कि आज के इस आर्टिकल को पढ़ने के बाद आपको स्ट्रिंग क्या है? (What is String in C in Hindi) और सी लैंग्वेज में स्टिंग का उपयोग कैसे करते है? से संबंधित सभी जानकारी मिल गई होगी और आपको और कही इसके बारे में सर्च करना नहीं पड़ेगा |

अगर आप सी लैंग्वेज के Complete Notes चाहते है तो मेरे इस पोस्ट C Language Notes In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |

दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और आपको स्ट्रिंग क्या है? (What is String in C in Hindi) और सी लैंग्वेज में स्टिंग का उपयोग कैसे करते है?  के बारे में काफी जानकरी हुई होगी |

अगर आपको ये पोस्ट पसंद आया है तो इस पोस्ट को अपने अपने दोस्तों को शेयर करना न भूलिएगा ताकि उनको भी ये जानकारी प्राप्त हो सके |

अगर आपको अभी भी स्ट्रिंग क्या है? (What is String in C in Hindi) से संबंधित कोई भी प्रश्न या Doubt है तो आप जरूर बताये मैं आपके सभी सवालों का जवाब दूँगा और ज्यादा जानकारी के लिए आप हमसे संपर्क कर सकते है

एसी ही नया टेक्नोलॉजी ,Programming Language, Coding , C Language, C++, Python Course , Java Tutorial से रिलेटेड जानकारियाँ पाने के लिए हमारे इस वेबसाइट को सब्सक्राइब कर दीजिए | जिससे हमारी आने वाली नई पोस्ट की सूचनाएं जल्दी प्राप्त होगी |