-
C में एस्केप सीक्वेंसेस
बैकलैश (\) से शुरू होने वाले कैरेक्टर सीक्वेंस को **एस्केप सीक्वेंस** कहते हैं जिनका विशेष अर्थ होता है। मानक एस्केप सीक्वेंसेस सीक्वेंसनामASCII कोडविवरण \nन्यूलाइन (LF)10 (0x0A)नई लाइन \tहॉरिजॉन्टल टैब9 (0x09)टैब स्पेस \vवर्टिकल टैब11 (0x0B)वर्टिकल टैब \bबैकस्पेस8 (0x08)कर्सर पीछे \rकैरिज रिटर्न
-
C में long डेटा टाइप की आवश्यकता
C में चार इंटीजर टाइप्स हैं: short, int, long, long long। उनके आकार प्लेटफॉर्म-निर्भर हैं। आकार संबंध (गारंटीड न्यूनतम) sizeof(short) ≤ sizeof(int) ≤ sizeof(long) ≤ sizeof(long long) ≥ 16 bits ≥ 16 bits ≥ 32 bits ≥ 64 bits सामान्य आकार (बाइट्स में) प्लेटफॉर्मshortintlonglong longपॉइंटर
-
C में const क्वालिफायर
const क्वालिफायर वेरिएबल को रीड-ओनली घोषित करता है - इनिशियलाइजेशन के बाद संशोधन कंपाइल एरर देता है। उदाहरण #include <stdio.h> int main() { const int x = 10; // x = 12; // Error: assignment of read-only variable x printf(x = %d\n, x); return 0; } आउटपुट (यदि संशोधन हटाया ज
-
C में स्कैनसेट्स (Scansets)
scanf परिवार में **स्कैनसेट** (%[...]) कैरेक्टर सेट के आधार पर इनपुट पढ़ने की अनुमति देता है। सिंटैक्स %[set] // set में कैरेक्टर्स पढ़ें %[^set] // set में NOT कैरेक्टर्स पढ़ें (पहले ^ के बाद) उदाहरण #include <stdio.h> int main() { char str[50]; // केवल अपरकेस लेटर्स
-
C और C++ में कॉमा ऑपरेटर और सेपरेटर
कॉमा (,) C/C++ में दो अलग भूमिकाएं निभाता है: **ऑपरेटर** और **सेपरेटर**। 1. कॉमा ऑपरेटर (Comma Operator) बाइनरी ऑपरेटर: बाएं ऑपरेंड इवैल्यूएट करता है, परिणाम डिस्कार्ड करता है, फिर दाएं ऑपरेंड इवैल्यूएट करता है और उसका मान रिटर्न करता है। **सबसे कम प्रेसिडेंस** - सभी ऑपरेटर्स से कम। असोसिएटिविटी:
-
C में नेगेटिव नंबरों का मॉड्युलस
C में % ऑपरेटर का परिणाम **पहले ऑपरेंड (डिविडेंड) का चिह्न** रखता है (C99 से मानकीकृत)। नियम (C99 और बाद में) (a / b) * b + (a % b) == a // भागफल (a/b) शून्य की ओर ट्रंकेट होता है // शेष (a%b) का चिह्न a के समान होता है उदाहरण #include <stdio.h> int main() { printf( 7 %% 3 = %d\n, 7
-
C मैक्रो PRINT(x) लिखें जो x प्रिंट करे
स्ट्रिंगिफिकेशन ऑपरेटर # का उपयोग करके मैक्रो आर्गुमेंट को स्ट्रिंग लिटरल में बदलें। उदाहरण #include <stdio.h> #define PRINT(x) printf(#x \n) int main() { PRINT(Hello); PRINT(26); PRINT(2.354721); PRINT(This is a test); return 0; } आउटपुट Hello 26 2.354721 This is a te
-
C में मल्टीलाइन मैक्रोज़
C में मल्टीलाइन मैक्रोज़ लिखने के लिए प्रत्येक लाइन के अंत में बैकस्लैश (\) लगाएं। सिंटैक्स नियम प्रत्येक लाइन (अंतिम को छोड़कर) \ से समाप्त होनी चाहिए। \ के बाद **कोई व्हाइटस्पेस नहीं** (न्यूलाइन तुरंत)। पूरे मैक्रो को do { ... } while(0) में लपेटें ताकि यह स्टेटमेंट जैसा व्यवहार करे। उदाहरण #
-
C स्ट्रक्चर और C++ स्ट्रक्चर का अंतर
C++ स्ट्रक्चर (struct) क्लास के समान हैं, केवल डिफ़ॉल्ट एक्सेस स्पेसिफायर अलग है। तुलना तालिका विशेषताC structC++ struct मेंबर फंक्शन्सनहींहाँ डिफ़ॉल्ट एक्सेसpublic (केवल विकल्प)public (private/protected भी संभव) डायरेक्ट इनिशियलाइजेशननहीं (C99 डेजिग्नेटेड इनिट से अलग)हाँ (कंस्ट्रक्टर, एग्रीगेट इ
-
C में अनाम यूनियन और स्ट्रक्चर
**अनाम (नामहीन) यूनियन/स्ट्रक्चर** के पास टैग नाम नहीं होता। इनके मेम्बर्स पैरेंट स्कोप में सीधे एक्सेसिबल होते हैं। सिंटैक्स struct { int x, y; // अनाम स्ट्रक्चर }; union { int i; float f; // अनाम यूनियन }; उदाहरण: नेस्टेड अनाम स्ट्रक्चर #include <stdio.h> struct Point {
-
C में कंपाउंड लिटरल्स
C99 में पेश किए गए **कंपाउंड लिटरल्स** नामहीन ऑब्जेक्ट्स (स्ट्रक्चर, ऐरे, यूनियन) बनाने की अनुमति देते हैं जिनका उपयोग तुरंत किया जा सकता है। सिंटैक्स (type_name){ initializer_list } उदाहरण: स्ट्रक्चर लिटरल #include <stdio.h> struct Point { int x, y; }; void print_point(struct Point p
-
C प्रोग्राम्स का मेमोरी लेआउट
C प्रोग्राम की रनटाइम मेमोरी कई सेगमेंट्स में व्यवस्थित होती है। मेमोरी सेगमेंट्स (उच्च एड्रेस से निम्न एड्रेस) HIGH ADDRESS ┌─────────────────────┐ │ Stack │ ← ग्रोथ: नीचे की ओर (हाई → लो) │ (लोकल वेरिएबल्स, │ फंक्शन कॉल्स, रिटर्न एड्रेस │ फंक्शन पैरामीटर्स) │ ├─────────
-
free() को कैसे पता चलता है कि कितनी मेमोरी डीअलोकेट करनी है?
free(ptr) केवल पॉइंटर लेता है, आकार नहीं। फिर भी यह सही मात्रा में मेमोरी मुक्त करता है। आंतरिक कार्यप्रणाली मेटाडेटा स्टोरेज: जब malloc/calloc/realloc मेमोरी अलोकेट करते हैं, तो वे अनुरोधित आकार से **अधिक** मेमोरी अलोकेट करते हैं (आमतौर पर एक हेडर वर्ड अतिरिक्त)। हेडर में आकार: यह अतिरिक्त वर्ड
-
C/C++ कोड को असेंबली भाषा में बदलना
GCC का -S फ्लैग सोर्स कोड से असेंबली आउटपुट (.s फाइल) जनरेट करता है। कमांड gcc -S program.c # C के लिए g++ -S program.cpp # C++ के लिए gcc -S -masm=intel program.c # इंटेल सिंटैक्स (डिफॉल्ट AT&T) उदाहरण सोर्स #include <iostream> using namespace std; int main() { int x = 50
-
C में मैक्रोज़ और फंक्शन्स का अंतर
मैक्रोज़ (प्रीप्रोसेसर) और फंक्शन्स (कंपाइलर) में मूलभूत अंतर हैं जो कोड सहीता, डिबगिंग और प्रदर्शन को प्रभावित करते हैं। तुलना तालिका पहलूमैक्रोज़ (#define)फंक्शन्स प्रोसेसिंगप्रीप्रोसेसिंग (टेक्स्ट रिप्लेसमेंट)कंपाइलेशन (कोड जनरेशन) टाइप चेकिंगनहींहाँ आर्गुमेंट इवैल्यूएशनहर उपयोग पर (मल्टीपल इव
-
C में const वेरिएबल को कैसे संशोधित करें
const वेरिएबल को सीधे संशोधित करना कंपाइल एरर देता है, लेकिन पॉइंटर के माध्यम से अप्रत्यक्ष संशोधन संभव है (हालांकि यह **अनडिफाइंड बिहेवियर** है)। सीधा संशोधन (एरर) #include <stdio.h> int main() { const int x = 10; x = 15; // Error: assignment of read-only variable x return 0;
-
C/C++ में wcspbrk फंक्शन
wcspbrk वाइड स्ट्रिंग में किसी भी वाइड कैरेक्टर सेट से पहले कैरेक्टर को खोजता है। <wchar.h> में घोषित। सिंटैक्स wchar_t *wcspbrk(const wchar_t *wcs, const wchar_t *accept); पैरामीटर्स wcs: खोजी जाने वाली वाइड स्ट्रिंग। accept: खोजे जाने वाले वाइड कैरेक्टर्स का सेट। रिटर्न वैल्यू मिले तो
-
C/C++ में अनइनिशियलाइज़्ड प्रिमिटिव डेटा टाइप्स
अनइनिशियलाइज़्ड लोकल (ऑटोमैटिक) वेरिएबल्स का मान **इनडिटरमिनेट** (कचरा) होता है। यह कंपाइलर, ऑप्टिमाइज़ेशन लेवल, स्टैक कंटेंट्स पर निर्भर करता है। उदाहरण #include <iostream> using namespace std; int main() { char a; float b; int c; double d; long e; cout <<
-
C प्रोग्राम कैसे निष्पादित होता है (कंपाइलेशन प्रक्रिया)
C प्रोग्राम सोर्स कोड से एक्जीक्यूटेबल बनने तक चार मुख्य चरणों से गुजरता है। कंपाइलेशन पाइपलाइन Source Code (.c) │ ▼ Preprocessor (cpp) → Expanded Source (.i) │ ▼ Compiler (cc1) → Assembly (.s) │ ▼ Assembler (as) → Object Code (.o / .obj) │ ▼ Linker (ld) → Executabl
-
C/C++ प्रोग्राम को प्रीप्रोसेसर कोड में बदलना
GCC/G++ का -E फ्लैग प्रीप्रोसेसिंग के बाद का आउटपुट दिखाता है (मैक्रो एक्सपेंशन, इन्क्लूड्स, कंडीशनल कंपाइलेशन)। कमांड gcc -E program.c # C के लिए g++ -E program.cpp # C++ के लिए cpp program.c # स्टैंडअलोन प्रीप्रोसेसर उदाहरण // source.cpp #define PI 3.1415 #define SQUARE(x) ((x)*