Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

पॉइंटर्स का उपयोग करके स्ट्रिंग्स की अवधारणाओं को दर्शाने वाला C प्रोग्राम


कैरेक्टर्स का ऐरे स्ट्रिंग कहलाता है।

घोषणा

ऐरे घोषित करने का सिंटैक्स निम्नलिखित है:

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

  1. C प्रोग्राम: पॉइंटर्स पर उदाहरणों का प्रदर्शन C प्रोग्राम: पॉइंटर्स पर उदाहरणों का प्रदर्शन

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का एड्रेस स्टोर करता है। पॉइंटर्स की विशेषताएं पॉइंटर मेमोरी स्पेस बचाता है। मेमोरी लोकेशन तक सीधी पहुंच के कारण पॉइंटर का एक्जीक्यूशन टाइम तेज होता है। पॉइंटर्स की मदद से मेमोरी को कुशलतापूर्वक एक्सेस किया जाता है, यानी मेमोरी डायनामिकली एलोकेट और डीएलोकेट ह

  1. C प्रोग्राम: स्ट्रिंग्स के पॉइंटर्स की सरणी और उनके पते प्रिंट करें C प्रोग्राम: स्ट्रिंग्स के पॉइंटर्स की सरणी और उनके पते प्रिंट करें

    C प्रोग्रामिंग में पॉइंटर्स की सरणी (array of pointers) को समझते हैं, विशेष रूप से स्ट्रिंग्स के लिए। पॉइंटर्स की सरणी (स्ट्रिंग्स के लिए) यह एक सरणी है जिसके तत्व स्ट्रिंग के बेस पते को इंगित करने वाले पॉइंटर्स होते हैं। घोषणा और आरंभीकरण: char *a[] = {one, two, three}; यहाँ: a[0] one स्ट्रिं

  1. C भाषा में निर्णय लेने के कथन: फ्लोचार्ट और प्रोग्राम्स C भाषा में निर्णय लेने के कथन: फ्लोचार्ट और प्रोग्राम्स

    निर्णय लेने के कथन सिंपल if स्टेटमेंट if-else स्टेटमेंट नेस्टेड if-else स्टेटमेंट else-if लैडर switch स्टेटमेंट 1. सिंपल if स्टेटमेंट शर्त सत्य होने पर स्टेटमेंट्स निष्पादित करता है। if (condition) { statement(s); } उदाहरण: संख्या 50 से बड़ी है? 50) printf(%d is greater than 50, a);