⚙️ C++

C++ में चर और डेटा प्रकार

```html

यह क्या है और क्यों?

कल्पना करो कि तुम एक कंप्यूटर गेम खेल रहे हो। तुम्हारे पास एक इन्वेंट्री है: तलवार, स्वास्थ्य की औषधि, सोने के सिक्के। प्रोग्रामिंग में भी यही बात है — हमें कहीं डेटा स्टोर करने की ज़रूरत होती है जिसके साथ प्रोग्राम काम करता है। वेरिएबल्स ऐसे डिब्बे या बक्से हैं जिनमें कोई संख्या, शब्द या कुछ और रखा जा सकता है। हर बक्से का एक नाम होता है (जैसे, जीवन_संख्या या नायक_का_नाम), और उसमें केवल एक निश्चित प्रकार की चीज़ें रखी जा सकती हैं: एक में संख्याएँ, दूसरे में टेक्स्ट, तीसरे में हाँ/नहीं।

डेटा प्रकार वे नियम हैं जो कहते हैं: "इस बक्से में केवल पूर्ण संख्याएँ रखी जा सकती हैं", "और इस में केवल शब्द"। इसकी आवश्यकता क्यों है? ताकि कंप्यूटर गड़बड़ न करे: यदि तुमने कहा कि बक्से में संख्या है, तो संख्याओं को जोड़ा, घटाया और गुणा किया जा सकता है। और यदि वहाँ टेक्स्ट है — तो उसके साथ अन्य ऑपरेशन किए जा सकते हैं: शब्दों को जोड़ना, अक्षर ढूँढना। डेटा प्रकारों के बिना अराजकता होगी — जैसे कि गेम में तलवार अचानक औषधि में बदल जाए, और सिक्के बात करने लगें।

एक स्कूली छात्र के लिए यह महत्वपूर्ण है, क्योंकि कोई भी प्रोग्राम डेटा के साथ काम करना है। कैलकुलेटर बनाना चाहते हो? संख्याएँ चाहिए। डायलॉग वाला गेम चाहिए? स्ट्रिंग्स (टेक्स्ट) चाहिए। यह जाँचना चाहते हो कि खिलाड़ी स्तर पार कर गया? लॉजिकल वैल्यू (सत्य/असत्य) चाहिए। वेरिएबल्स और प्रकार वह नींव हैं जिस पर बाकी सब कुछ बनता है।

सिंटैक्स और कोड उदाहरण

C++ में पहले वेरिएबल घोषित करना होता है — कंप्यूटर से कहना: "सुनो, मुझे इस नाम का एक बक्सा चाहिए, और उसमें इस तरह का डेटा होगा"। यह इस प्रकार किया जाता है: पहले डेटा प्रकार लिखते हैं, फिर वेरिएबल का नाम, फिर (यदि आवश्यक हो) बराबर का चिह्न और मान।

#include <iostream>  // ताकि स्क्रीन पर टेक्स्ट आउटपुट किया जा सके
using namespace std;  // ताकि हर शब्द से पहले std:: न लिखना पड़े

int main() {
    // उदाहरण 1: पूर्ण संख्या (int)
    int आयु = 14;  // "आयु" नाम का int (पूर्ण संख्या) प्रकार का वेरिएबल बनाते हैं और उसमें 14 डालते हैं
    cout << "मेरी आयु: " << आयु << endl;  // स्क्रीन पर आउटपुट करते हैं

    // उदाहरण 2: फ्लोटिंग पॉइंट संख्या (double) — भिन्नों के लिए
    double ऊंचाई = 1.65;  // मीटर में ऊंचाई, 1.65 स्टोर कर सकते हैं
    cout << "मेरी ऊंचाई: " << ऊंचाई << " मी" << endl;

    // उदाहरण 3: टेक्स्ट (string)
    string नाम = "आलिसा";  // उद्धरणों में शब्द या वाक्यांश
    cout << "मेरा नाम " << नाम << endl;

    // उदाहरण 4: लॉजिकल प्रकार (bool) — केवल true (सत्य) या false (असत्य)
    bool प्रोग्रामिंगपसंदहै = true;  // true = 1, false = 0
    cout << "क्या प्रोग्रामिंग पसंद है? " << प्रोग्रामिंगपसंदहै << endl;  // 1 आउटपुट करेगा (क्योंकि true)

    // उदाहरण 5: कैरेक्टर (char) — एक अक्षर या अंक एकल उद्धरणों में
    char पहलाअक्षर = 'A';
    cout << "नाम का पहला अक्षर: " << पहलाअक्षर << endl;

    return 0;  // प्रोग्राम सफलतापूर्वक समाप्त हुआ
}

ध्यान दो: C++ में प्रत्येक एक्सप्रेशन सेमीकोलन ; के साथ समाप्त होता है। यदि इसे भूल जाओ, प्रोग्राम कंपाइल नहीं होगा (कंप्यूटर यह नहीं समझेगा कि कमांड कहाँ समाप्त होती है)।

एक और उदाहरण — वेरिएबल्स को कैसे बदला जा सकता है:

int अंक = 0;        // पहले 0
अंक = 10;           // अब 10
अंक = अंक + 5;     // अब 15 (पुराना मान लेते हैं, उसमें 5 जोड़ते हैं)
cout << अंक << endl;  // 15 आउटपुट करेगा

डेटा प्रकार बदला नहीं जा सकता: यदि int घोषित किया, तो बाद में उसमें टेक्स्ट नहीं डाल सकते। कंप्यूटर त्रुटि देगा।

Python से तुलना

Python में सब कुछ आसान है: डेटा प्रकार बताने की आवश्यकता नहीं है। Python स्वयं अनुमान लगाता है कि तुम्हारा क्या मतलब है। लेकिन इस सरलता के लिए गति और कठोरता से भुगतान करना पड़ता है — C++ में तुम्हें ठीक-ठीक पता होता है कि प्रत्येक वेरिएबल कितनी मेमोरी लेता है, और प्रोग्राम तेज़ चलता है।

देखो, वही उदाहरण Python में कैसे दिखते हैं:

# Python: int, string, bool लिखने की आवश्यकता नहीं — प्रकार स्वचालित रूप से निर्धारित होता है
आयु = 14          # Python ने स्वयं समझ लिया कि यह संख्या है
ऊंचाई = 1.65           # और यह भिन्नात्मक संख्या है
नाम = "आलिसा"         # यह स्ट्रिंग है
प्रोग्रामिंगपसंदहै = True  # लॉजिकल प्रकार
पहलाअक्षर = 'A'     # कैरेक्टर (Python में यह भी एक स्ट्रिंग है, लेकिन एक अक्षर का)

print("मेरी आयु:", आयु)
print("मेरी ऊंचाई:", ऊंचाई, "मी")
print("मेरा नाम", नाम)
print("क्या प्रोग्रामिंग पसंद है?", प्रोग्रामिंगपसंदहै)
print("नाम का पहला अक्षर:", पहलाअक्षर)

अंतर दिखता है? C++ में हम int आयु = 14; लिखते हैं, जबकि Python में बस आयु = 14। Python को प्रकार घोषित करने की आवश्यकता नहीं — वह मान को देखता है और स्वयं निर्णय लेता है। लेकिन यदि तुम C++ में int आयु = "आलिसा"; लिखने का प्रयास करो, कंपाइलर त्रुटि देगा। Python में तुम आयु = "आलिसा" लिख सकते हो, और वह आपत्ति नहीं करेगा — लेकिन बाद में, यदि तुम आयु को किसी संख्या से जोड़ने का प्रयास करोगे, प्रोग्राम रनटाइम पर क्रैश हो जाएगा।

एक और अंतर: C++ में लाइब्रेरीज़ को शामिल करना होता है (जैसे, स्क्रीन पर आउटपुट के लिए #include <iostream>), जबकि Python में कई चीज़ें पहले से बनी होती हैं। एक स्कूली छात्र के लिए Python शुरुआत में आसान है, लेकिन C++ कंप्यूटर के काम करने की गहरी समझ देता है।

शुरुआती लोगों की सामान्य गलतियाँ

  • सेमीकोलन भूलना। यह सबसे आम गलती है। कंपाइलर कहेगा: "त्रुटि: सेमीकोलन की अपेक्षा थी"। बस प्रत्येक कमांड के अंत में ; लगाओ।
  • अघोषित वेरिएबल का उपयोग करना। यदि तुम cout << x; लिखोगे, और वेरिएबल x घोषित नहीं किया गया, कंपाइलर नहीं समझेगा कि यह क्या है। हमेशा पहले घोषित करो: int x = 5;
  • उद्धरणों में भ्रम। स्ट्रिंग्स (एक से अधिक अक्षर) के लिए दोहरे उद्धरण चाहिए: "नमस्ते"। एक अक्षर के लिए — एकल उद्धरण: 'A'। यदि भ्रम हो, त्रुटि होगी।
  • गलत प्रकार का मान असाइन करना। उदाहरण के लिए, int a = 3.14; — कंपाइलर चेतावनी दे सकता है कि भिन्नात्मक भाग खो जाएगा (यह 3 होगा)।
```