वर्णों की एक सरणी को स्ट्रिंग कहा जाता है।
घोषणा
एक सरणी घोषित करने के लिए वाक्य रचना इस प्रकार है -
char stringname [size];
उदाहरण के लिए - चार स्ट्रिंग [50]; लंबाई 50 वर्णों की स्ट्रिंग
आरंभीकरण
- एकल वर्ण स्थिरांक का उपयोग करना -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- स्ट्रिंग स्थिरांक का उपयोग करना -
char string[10] = "Hello":;
एक्सेस करना - एक नियंत्रण स्ट्रिंग "%s" है जिसका उपयोग स्ट्रिंग को तब तक एक्सेस करने के लिए किया जाता है जब तक कि उसका सामना '\0' से नहीं हो जाता।
अब, आइए समझते हैं कि C प्रोग्रामिंग लैंग्वेज में पॉइंटर्स के ऐरे क्या हैं।
पॉइंटर्स की सरणी:(स्ट्रिंग्स के लिए)
- यह एक सरणी है जिसके तत्व स्ट्रिंग के आधार जोड़ के ptrs हैं।
- इसे निम्नानुसार घोषित और प्रारंभ किया गया है -
char *a[ ] = {"one", "two", "three"};
यहाँ, a[0] स्ट्रिंग "वन" के आधार जोड़ का सूचक है।
a[1] स्ट्रिंग "दो" के आधार जोड़ का सूचक है।
a[2] स्ट्रिंग "तीन" के आधार जोड़ का सूचक है।
उदाहरण
स्ट्रिंग्स की अवधारणाओं को प्रदर्शित करने वाला एक सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> #include<string.h> void main(){ //Declaring string and pointers// char *s="Meghana"; //Printing required O/p// printf("%s\n",s);//Meghana// printf("%c\n",s);//If you take %c, we should have * for string. Else you will see no output//// printf("%c\n",*s);//M because it's the character in the base address// printf("%c\n",*(s+4));//Fifth letter a because it's the character in the (base address+4)th position// printf("%c\n",*s+5);//R because it will consider character in the base address + 5 in alphabetical order// }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Meghana M a R
उदाहरण 2
एक अन्य उदाहरण पर विचार करें।
नीचे दिया गया एक सी प्रोग्राम है जो पोस्ट इंक्रीमेंट और प्री इंक्रीमेंट ऑपरेटरों का उपयोग करके प्रिंटिंग कैरेक्टर की अवधारणाओं को प्रदर्शित करता है -
#include<stdio.h> #include<string.h> void main(){ //Declaring string and pointers// char *s="Meghana"; //Printing required O/p// printf("%s\n",s);//Meghana// printf("%c\n",++s+3);//s becomes 2nd position - 'e'. O/p is Garbage value// printf("%c\n",s+++3);//s becomes 3rd position - 'g'. O/p is Garbage value// printf("%c\n",*++s+3);//s=3 becomes incremented by 1 = 'h'.s becomes 4th position.h+3 - k is the O/p// printf("%c\n",*s+++3);//s=4 - h is the value. h=3 = k will be the O/p. S is incremented by 1 now. s=5th position// }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Meghana d d k k