C में स्ट्रिंग क्या है? | String in C in Hindi

C में स्ट्रिंग क्या है

हेल्लो दोस्तों! आज हम इस पोस्ट में String in C in Hindi (C में स्ट्रिंग क्या है?) इस ट्यूटोरियल में, आप C प्रोग्रामिंग में स्ट्रिंग्स के बारे में जानेंगे। आप उन्हें declare करना, उन्हें इनिशियलाइज़ करना और उदाहरणों की सहायता से विभिन्न I/O संचालन के लिए उनका उपयोग करना सीखेंगे। इसे आप पूरा पढ़िए, यह आपको आसानी से समझ में आ जायेगा. तो चलिए शुरू करते हैं:-

C में स्ट्रिंग क्या है?

सी प्रोग्रामिंग में, एक स्ट्रिंग एक अशक्त वर्ण (string a null character) \ 0 के साथ समाप्त वर्णों का एक क्रम है। उदाहरण के लिए:-

char c[] = "c string";

जब कंपाइलर दोहरे उद्धरण चिह्नों में संलग्न वर्णों के अनुक्रम का सामना करता है, तो यह डिफ़ॉल्ट रूप से अंत में एक शून्य वर्ण \0 जोड़ता है।

एक स्ट्रिंग कैसे घोषित करें? (How to declare a string.)

यहां बताया गया है कि आप स्ट्रिंग कैसे घोषित कर सकते हैं। एक string एक सरल array होता है जिसका डाटा टाइप char होता है. इसको declare करने का सामान्य syntax निम्नलिखित है:-

char s[5];

यहां, हमने 5 वर्णो (characters) की एक string declare की है।

स्ट्रिंग्स को इनिशियलाइज़ कैसे करें?

आप कई तरीकों से स्ट्रिंग्स को इनिशियलाइज़ कर सकते हैं। नीचे आपको example दिया गया है जिसकी मदद से आप इसको आसानी से समझ सकते हैं|

char c[] = "abcd";

char c[50] = "abcd";

char c[] = {'a', 'b', 'c', 'd', '\0'};

char c[5] = {'a', 'b', 'c', 'd', '\0'};

आइए एक और उदाहरण लें:-

char c[5] = "abcde";

यहां, हम 5 characters वाले char array में 6 character (last character’\0′) निर्दिष्ट करने का प्रयास कर रहे हैं। यह बुरा है और आपको ऐसा कभी नहीं करना चाहिए।

स्ट्रिंग्स को Assigning Values करना:-

सी में Arrays और strings द्वितीय श्रेणी के नागरिक हैं; एक बार घोषित होने के बाद वे असाइनमेंट ऑपरेटर का समर्थन नहीं करते हैं। उदाहरण के लिए|

char c[100];

c = "C programming";  // Error! array type is not assignable.

नोट:- इसके बजाय स्ट्रिंग को कॉपी करने के लिए strcpy() फ़ंक्शन का उपयोग करें।

उपयोगकर्ता से स्ट्रिंग पढ़ें:-

आप एक स्ट्रिंग को पढ़ने के लिए scanf () फ़ंक्शन का उपयोग कर सकते हैं।

Scanf () फ़ंक्शन वर्णों के अनुक्रम को तब तक पढ़ता है जब तक कि वह व्हॉट्सएप (स्पेस, न्यूलाइन, टैब, आदि) का सामना नहीं करता।

उदाहरण 1: एक स्ट्रिंग पढ़ने के लिए स्कैनफ ()

#include <stdio.h>

int main()

{

  char name[20];

  printf("Enter name: ");

  scanf("%s", name);

  printf("Your name is %s.", name);

  return 0;

  }

Output 

Enter name: Sohail khan 

Your name is Sohail .

उपरोक्त प्रोग्राम में भले ही sohail khan की एंट्री हुई हो, लेकिन नाम स्ट्रिंग में केवल “sohail” ही स्टोर किया गया था। ऐसा इसलिए है क्योंकि khan के बाद एक space थी।

यह भी ध्यान दें कि हमने scanf () के साथ नाम के बजाय कोड नाम का उपयोग किया है।

scanf("%s", name);


ऐसा इसलिए है क्योंकि नाम एक चार सरणी है, और हम जानते हैं कि सरणी नाम सी में पॉइंटर्स के लिए क्षय हो जाते हैं।

इस प्रकार, scanf() में नाम पहले से ही स्ट्रिंग में पहले तत्व के पते को इंगित करता है, यही कारण है कि हमें & का उपयोग करने की आवश्यकता नहीं है।

Text की एक लाइन कैसे पढ़ें?

स्ट्रिंग की एक पंक्ति को पढ़ने के लिए आप fgets () फ़ंक्शन का उपयोग कर सकते हैं। और, आप स्ट्रिंग प्रदर्शित करने के लिए put() का उपयोग कर सकते हैं।

उदाहरण 1: fgets() and puts()

#include <stdio.h>

int main()

{

   char name[30];

   printf("Enter name: ");

   fgets(name, sizeof(name), stdin);  // read string

   printf("Name: ");

   puts(name);    // display string

   return 0;

   }

Output

Enter name: sirf padhai

Name: sirf padhai

यहां, हमने उपयोगकर्ता से एक स्ट्रिंग को पढ़ने के लिए fgets () फ़ंक्शन का उपयोग किया है।

fgets(name, sizeof(name), stdlin); // read string

sizeof(name) का परिणाम 30 होता है। इसलिए, हम इनपुट के रूप में अधिकतम 30 characters ले सकते हैं जो कि नाम स्ट्रिंग का आकार है।

स्ट्रिंग को प्रिंट करने के लिए, हमने put(name); का उपयोग किया है।

नोट:- gets() फ़ंक्शन उपयोगकर्ता से इनपुट लेने के लिए भी हो सकता है। हालाँकि, इसे C standard से हटा दिया गया है।

ऐसा इसलिए है क्योंकि हो जाता है () आपको किसी भी लम्बाई के पात्रों को इनपुट करने की अनुमति देता है। इसलिए, एक बफर ओवरफ्लो हो सकता है।

Function में string को pass करना:-

स्ट्रिंग्स को किसी फ़ंक्शन में उसी तरह से पास किया जा सकता है जैसे कि arrays. इसलिए हम function में string को उसी तरह pass कर सकते हैं जिस प्रकार हम array को करते है. नीचे इसका example दिया गया है।

#include<stdio.h> 

void printStr(char str[]) 

{ 

    printf("String is : %s",str); 

    } 

int main() 

{    

// declare and initialize string 

char str[] = "sirfpadhai"; 

// print string by passing string  

    printStr(str); 

    return 0; 

    } 

Output

String is : sirfpadhai

Strings में  pointer केसे काम करता है ?

arrays के समान, string names पॉइंटर्स के लिए “decayed” होते हैं। इसलिए, आप स्ट्रिंग के तत्वों में हेरफेर करने के लिए पॉइंटर्स का उपयोग कर सकते हैं। हम अनुशंसा करते हैं कि आप इस उदाहरण की जाँच करने से पहले C Arrays और Pointers की जाँच करें।

#include <stdio.h>

int main(void) {

  char name[] = "software Engineer";

  printf("%c", *name);     // Output: H

  printf("%c", *(name+1));   // Output: a

  printf("%c", *(name+7));   // Output: o

  char *namePtr;

  namePtr = name;

    printf("%c", *namePtr);     // Output: H

      printf("%c", *(namePtr+1));   // Output: a

        printf("%c", *(namePtr+7));   // Output: o

        }

C String Functions in Hindi :–

C लैंग्वेज में String.h file header सभी string functions को support करता है. सभी string functions नीचे दिए गये हैं:-

FunctionUse
Stren()एक स्ट्रिंग की लंबाई पाता करता है
Strlwr()एक स्ट्रिंग को lowercase में परिवर्तित करता है
Strupr()एक स्ट्रिंग को uppercase में परिवर्तित करता है
Strcat()एक स्ट्रिंग को दूसरे के अंत में जोड़ता है
Strncat()एक स्ट्रिंग के पहले n characters को दूसरे के अंत में जोड़ता है
Strcpy()एक स्ट्रिंग को दूसरे में कॉपी करता है
Strncpy()एक स्ट्रिंग के पहले n characters को दूसरे में कॉपी करता है
Strcmp()दो strings की तुलना करता है
Strncmp()दो strings के पहले n characters की तुलना करता है
Strcmpi()मामले की अनदेखी करके दो तारों की तुलना करता है
Stricmp()मामले की परवाह किए बिना दो तारों की तुलना करता है (strcmpi के समान)
Strnicmp()मामले की परवाह किए बिना दो स्ट्रिंग्स के पहले n वर्णों की तुलना करता है
Strdup()एक स्ट्रिंग को डुप्लिकेट करता है
Strchr()एक स्ट्रिंग में दिए गए वर्ण की पहली घटना ढूँढता है
Strrchr()एक स्ट्रिंग में दिए गए वर्ण की अंतिम घटना का पता लगाएं
Strstr()किसी दिए गए स्ट्रिंग की पहली घटना को किसी अन्य स्ट्रिंग में ढूँढता है
Strset()स्ट्रिंग के सभी वर्णों को किसी दिए गए वर्ण पर सेट करता है
Strnset()किसी दिए गए वर्ण के लिए स्ट्रिंग के पहले n वर्ण सेट करें
Strrev()रिवर्स स्ट्रिंग

String को traverse करना –

किसी भी programming language में string को traverse करना एक महत्वपूर्ण पहलू है| किसी स्ट्रिंग को traverse करना integer array को traverse करने की तुलना में different होता है| स्ट्रिंग को traverse करने के लिए हम null character का प्रयोग करते है जिससे हमें string के end का पता चलता है|

Conclusion:-

इस पोस्ट में बस इतना ही हम अगले टॉपिक पर नेक्स्ट पोस्ट में बात करेंगे | c language में, मेने इस पोस्ट में C में स्ट्रिंग क्या है? String in C in Hindi यहां तक इस पोस्ट में कवर कर लिया है| नेक्स्ट पोस्ट में हम ऐरे में handling multiple strings क्या होते है | और इसके example पढेंगे |जल्द ही हम c language का tutorial पूरा करेंगे और c language पर प्रोग्राम केसे बनाते है| ये भी सिखायेंगे आप साथ ही साथ पुरानी पोस्ट भी पढ़ कर अपना अब्यास जारी रख सकते है| जिससे आपको c language के आने वाले टॉपिक अच्छे से समझ आयेंगे और आपको c language और भी ज्यादा आसान लगेगी | इसी तरह पढ़ते रहे और इस वेबसाइट को follow जरुर कर ले जिससे हमारी आने वाली पोस्ट आप तक सबसे पहले पहुचे|

धन्यवाद |

Previous articledata type revisited in c programming in hindi (डाटा टाइप कितने प्रकार के होते हैं)
Next articleसी में 2डी कैरेक्टर ऐरे क्या है(Handling multiple strings in c in hindi)

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here