Initializing Value of a Character Array (String) in Hindi



gtag('config', 'UA-148818807-1');

Initializing Value of a Character Array (String)

हम एक char प्रकार के array को भी प्रारम्भिक मान प्रदान कर  सकते है  array मे character assign करने के दो तरीके है। पहले तरीके मे array के हर character को single quote मे लिखा जाता है  इसमे अंतिम character को null करना  जरूरी है दूसरे तरीके मे  array को assign किए जाने वाले सभी character की पूरी string को double quote मे एक साथ लिखा जाता है इसमे string के अंत मे null character लिखना जरूरी नहीं होता है

Ex

char name[6] = {‘N’, ‘i’, ‘r’, ‘a’, ‘j’, ‘\0’}; OR char name[6] = {“Niraj ”};

इस प्रकार से ये दोनों ही statement सही है हम इन से किसी भी प्रकार के statement को use कर सकते है ध्यान दे की यदि array की size input किये गए string के बाद null character के लिए नही बचाता है तो भी C compiler array के अंत मे null character लगा देता है ओर हमारा input किया गया अंतिम character हट जाता है

जैसा उपर का ही उदाहरण को देखे । यदि हम इस array मे size 6 के बजाय 5 कर दे तो array मे  केवल Nira ही store होगा , क्योकि Niraj के अंतिम character l के स्थान पर hull character Replaced हो जाएगा । एक अन्य तरीका भी  है जिसमे हम array की size define नही करते है। C coomplier स्वंम ही size ले लेता

Ex

char name[ ] = {‘N’, ‘i’, ‘r’, ‘a’, ‘j’, ‘\0’}; OR char name[ ] = {“Niraj ”};

यदि हम इस प्रकार से array के मान initialize करे , C compiler स्वंम ही array की size 6 मान लेता है । लेकिन इसका प्रयोग केवल   किया जा सकता है जब हमे तुरंत initialize कर देना हो string Run time  मे इनपुट करना  तो यह statement काम नहीं करता है अब हम NEERAJ JOSHI string को program के रन टाइम मे array मे input करते है

हमने पहले  भी बताया था कि scanf() function कुछ special characters जैसे कि Blank , space carriage return , Form feed , newline , tab key के मिलते ही terminate हो जाता है इसलिए यदि हमे scanf() function द्वारा string को array मे store करना हो तो हमे loop का प्रयोग करना होगा ।

क्योकि हमको पता है कि array मे मान index number के आधार पर input होता है । loop का प्रयोग करने से array मे ये विशेष character भी एक सामान्य character कि तरह ही input होंगे । इस program मे हमे एक – एक character को loop कि सहायता  से input करना है ओर विभिन्न index number के अनुसार विभिन्न location पर input किए गए  character को store करना है फिर जिस array मे विभिन्न location पर ये character store हुए है उस array को output मे print करने पर इनपुट किया गया । string   जो हमने दिया है वेसा ही हमे प्राप्त हो जाता है

इस समस्या के समाधान के लिए loop को तब तक चलाया जाना चाहिए जब तक कि new लिने ना मिल जाए  । new line तब प्राप्त होती है जब हम enter keypress करते  है

Ex

Program

#include<stdio.h>

main()

{

int x;

char name[20], chara;

clrscr();

//Inputting String

printf(“Enter String and Press Enter”);

fflush(stdin);

for(x=0; x!=’\n’; x++)

{

scanf(“%c”, &chara);

name[x] = chara;

}

//Printing Inputted Array Elements

printf(“\n %s”, name);

getch();

}

जब program execute होता है तब scanf() function द्वारा chara मे character input होता है यहाँ x का मान 0 होने से array के index number का मान  भी 0 होता है , जिसमे input होने वाला प्रथम character array की name[0] location पर store iteration मे x=1 हो जाता है ओर input वाला अक्षर name[1] location पर store हो जाता है

इस प्रकार से ये क्रम तब तक चलता है जब तक की हम enter press नही करते है जैसे ही हम enter press करते है for loop terminate हो जाता है नाम के array मे input किये गए सभी character store रहते है इसमे store सभी कैरक्टर के समूह के कारण ये एक string हो जाता है इसलिए string को print करने के लिए % control string का प्रयोग किया जाता है

 

[wpforms id=”197″ title=”true” description=”true”]

Leave a Comment