Read in Hindi
Read in English
Going forward with this C language tutorial in hindi today we will learn about string. It is necessary to know about Array and char type variable.
What is String
We have known about char type variable that it stores a character. Now if we want to store a word(Which consists of more than one characters), how should we do it? For this we will make a char array, because array can store more than one variable. Hence with help of array we can store words and sentences. Lets see with the help of example how will we store word "hindi". 3 different ways are shown, all 3 are important to understand concept well.
#include <stdio.h>

int main() {
char w[6];
w[0] = 'h';
w[1] = 'i';
w[2] = 'n';
w[3] = 'd';
w[4] = 'i';
w[5] = '\0';
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

Rum then program given above and it will print
Word we stored is hindi
1st letter of array is h
Now lets see how it works. 1st we have made a char array which can store upto 6 char. Now as we put values in array, same way we put h in 1st place, then i and so on. Notice that last place w[5] have \0 which is not 2 char and it tells that here the word ends. As \n is line break character after which print goes to new line, similarly characters after \0 does not get printed. To place this character we have made 6 char array otherwise 5 char array was enough for the word hindi. One more thing to note that %s has been used to print string. w is a string but w[0], w[1]... are characters. In 1st printf statement string w is printed hence %s is used but in 2nd printf statement char w[0] is printed hence is %c used.
Now see the program below which works same way as above.
#include <stdio.h>

int main() {
char w[] = {'h', 'i', 'n', 'd', 'i', '\0'};
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

The only difference in this program with previous one is that in this in same line array is defined as well as values are filled in array, Similar to defining int var and assigning value in same line using int x = 1; In this way we do not need to specify length of array since it will calculate length according to how many places we have filled on same line.
Incorrect way: char w[6] = {'h', 'i', 'n', 'd', 'i', '\0'};
Correct way: char w[] = {'h', 'i', 'n', 'd', 'i', '\0'};

Now lets see one more program which also works same as above.
#include <stdio.h>

int main() {
char w[] = "hindi";
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

Only difference in this with above one is that in this program to make char array a shortcut is used. This kind of shortcut can be used only for char array, not other kind of arrays.
char w[] = "hindi";
Writing this will make char array w. 1st element of this array w[0] is 'h', 2nd element w[1] is 'i' ... so on. last element w[5] is '\0'. In this syntax \0 does not need to write explicitly.

Its enough for now, but string is widely used and we will know more about it as we go on.
If you like this tutorial, share it with your friends on facebook, orkut, twitter etc.
C language tutorial in hindi को आगे बढ़ाते हुए आज हम string के बारे में जानेंगे. इससे पहले Array और char type variable के बारे में जानना आवश्यक है.
What is String
हम char variable के बारे में जान चुके हैं कि यह variable किसी भी एक अक्षर(letter) को store करता  है. अब अगर मान लीजिए कि हमें हमें एक word(जो एक से ज्यादा अक्षरों से मिलकर बना होगा) को store करना है तो उसे कैसे करेंगे? इसके लिए हम char की एक array बनायेंगे, चूंकि array एक ही तरह के एक से ज्यादा variable store कर सकता है अतः इसकी help से हम word या sentence store कर सकते हैं. examples की help से हम word "hindi" को store करने और उसे print करने के 3 अलग अलग तरीके देखते हैं और ये तीनों ही important हैं.
#include <stdio.h>

int main() {
char w[6];
w[0] = 'h';
w[1] = 'i';
w[2] = 'n';
w[3] = 'd';
w[4] = 'i';
w[5] = '\0';
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

ऊपर दिए गए program को run करके output देखें. जो कि print करेगा
Word we stored is hindi
1st letter of array is h
अब इसे देखते हैं कि यह काम कैसे करता है. हमने char की एक array बनाई है जिसमे 6 char आ सकते हैं. इसके बाद जिस तरह से हम array में values डालते हैं उसी तरह से इसमें भी सबसे पहले स्थान पर h फिर i इस तरह से value डाल दी हैं. ध्यान दे कि अंतिम स्थान w[5] पर \0 है जो कि 2 char नहीं बल्कि 1 char है, जो कि यह बताता है यह इस word का अंतिम letter है. जिस तरह से \n line break  character है जिसके बाद अगली लाइन में print होता है उसी तरह \0 के बाद आने वाले letter read या print नहीं होते . इसी को जगह देने के लिए हमने 6 char वाली array बनायीं थी वरना hindi शब्द में 5 char ही हैं. अब इसमें यह भी ध्यान दें कि string को print करने के लिए %s का use किया जाता है. w एक string है जबकि w[0], w[1]... सभी char हैं. पहले वाले printf statement में string w को print किया है इसलिए %s का use किया है जबकि दूसरे वाले printf statement में char w[0] को print किया है इसलिए %c का use किया है.
अब नीचे वाला program देखिये जोकि बिलकुल पहले वाले कि तरह काम करता है.
#include <stdio.h>

int main() {
char w[] = {'h', 'i', 'n', 'd', 'i', '\0'};
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

इसमें पहले वाले से सिर्फ इतना difference है कि इसमें एक ही line में array को define भी कर रहे हैं और उसमे values भी डाल रहे हैं जिस तरह से किसी variable जैसे int को एक ही line में define करने और value देने के लिए int x = 1; लिखते हैं. इस तरीके से array define करते समय array की length नहीं बताना पड़ती(अर्थात ये नहीं लिखना पड़ता कि array में कितने element आयेंगे)
गलत तरीका char w[6] = {'h', 'i', 'n', 'd', 'i', '\0'};
सही तरीका char w[] = {'h', 'i', 'n', 'd', 'i', '\0'};

अब एक और program देखते हैं वो भी बिलकुल पहले वाले कि तरह काम करता है.
#include <stdio.h>

int main() {
char w[] = "hindi";
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

इस program में ऊपर वाले से सिर्फ 1 line में difference यह है कि यहाँ char array बनाने के लिए shortcut का use किया है. यह shortcut सिर्फ char array बनाने के लिए use होता है.
char w[] = "hindi";
यह लिखने से एक char array w बन जायेगी. इस array का पहला element w[0] 'h', दूसरा element w[1] 'i' .... हो जायेगा. अंतिम element w[5] '\0' हो जायेगा. इस syntax(तरीके) में \0 नहीं लिखना पड़ता.

अभी के लिए string में इतना ही, परन्तु आगे इसका बहुत उपयोग आता है. समय समय पर recall करते रहेंगे और बाद में धीरे धीरे इसके बारे में जानते रहेंगे.
इस blog को बेहतर बनाने के लिए आपके सुझावों का सदैव स्वागत रहेगा. सुझाव देने के लिए अपना Reply यहाँ पर दें. अगले लेख में हम function के बारे में जानेंगे जो कि बहुत important है.
अगर आपको यह लेख पसंद आया हो तो अपने दोस्तों को भी बताएं क्योंकि ये उनके लिए भी उपयोगी सिद्ध हो सकता है !! नीचे दिए गए link के माध्यम से इसे आसानी से facebook twitter और Google Buzz पर भी Share कर सकते हैं.