कैरेक्टर्स का ऐरे स्ट्रिंग कहलाता है।
घोषणा
ऐरे घोषित करने का सिंटैक्स निम्नलिखित है:
char stringname[size];
उदाहरण: char string[50]; 50 कैरेक्टर्स लंबाई की स्ट्रिंग
आरंभीकरण
- सिंगल कैरेक्टर कॉन्स्टेंट का उपयोग करके:
char string[10] = {'H', 'e', 'l', 'l', 'o', '\0'}
- स्ट्रिंग कॉन्स्टेंट्स का उपयोग करके:
char string[10] = "Hello";
एक्सेस करना - "%s" एक कंट्रोल स्ट्रिंग है जिसका उपयोग स्ट्रिंग को तब तक एक्सेस करने के लिए किया जाता है जब तक यह '\0' का सामना नहीं करता।
अब, आइए समझते हैं कि C प्रोग्रामिंग भाषा में पॉइंटर्स के ऐरे क्या हैं।
पॉइंटर्स के ऐरे: (स्ट्रिंग्स के लिए)
यह एक ऐरे है जिसके एलिमेंट्स स्ट्रिंग के बेस एड्रेस के पॉइंटर्स हैं।
इसे निम्नानुसार घोषित और आरंभ किया जाता है:
char *a[] = {"one", "two", "three"};
यहां, a[0] स्ट्रिंग "one" के बेस एड्रेस का पॉइंटर है।
a[1] स्ट्रिंग "two" के बेस एड्रेस का पॉइंटर है।
a[2] स्ट्रिंग "three" के बेस एड्रेस का पॉइंटर है।
उदाहरण
निम्नलिखित C प्रोग्राम स्ट्रिंग्स की अवधारणाओं को दर्शाता है:
#include <stdio.h>
#include <string.h>
void main() {
// स्ट्रिंग और पॉइंटर्स घोषित करना
char *s = "Meghana";
// आवश्यक आउटपुट प्रिंट करना
printf("%s\n", s); // Meghana
printf("%c\n", *s); // M क्योंकि यह बेस एड्रेस में कैरेक्टर है
printf("%c\n", *(s+4)); // पांचवां अक्षर a क्योंकि यह (बेस एड्रेस+4)th पोजीशन में कैरेक्टर है
printf("%c\n", *s+5); // R क्योंकि यह बेस एड्रेस में कैरेक्टर + 5 को वर्णमाला क्रम में मानता है
}
आउटपुट
उपरोक्त प्रोग्राम को निष्पादित करने पर निम्नलिखित परिणाम प्राप्त होता है:
Meghana M a R
उदाहरण 2
एक और उदाहरण पर विचार करें।
नीचे दिया गया C प्रोग्राम पोस्ट-इंक्रीमेंट और प्री-इंक्रीमेंट ऑपरेटर्स का उपयोग करके कैरेक्टर्स प्रिंट करने की अवधारणाओं को दर्शाता है:
#include <stdio.h>
#include <string.h>
void main() {
// स्ट्रिंग और पॉइंटर्स घोषित करना
char *s = "Meghana";
// आवश्यक आउटपुट प्रिंट करना
printf("%s\n", s); // Meghana
printf("%c\n", ++s+3); // s 2nd पोजीशन बन जाता है - 'e'. आउटपुट गार्बेज वैल्यू
printf("%c\n", s+++3); // s 3rd पोजीशन बन जाता है - 'g'. आउटपुट गार्बेज वैल्यू
printf("%c\n", *++s+3); // s=3 इंक्रीमेंट होकर 1 = 'h' हो जाता है. s 4th पोजीशन बन जाता है. h+3 = k आउटपुट
printf("%c\n", *s+++3); // s=4 - h मान है. h+3 = k आउटपुट होगा. s अब 1 से इंक्रीमेंट हो जाता है. s=5th पोजीशन
}
आउटपुट
उपरोक्त प्रोग्राम को निष्पादित करने पर निम्नलिखित परिणाम प्राप्त होता है:
Meghana d d k k