एचएमबी क्या है? C Programming Language?
⚡ स्मार्ट सारांश
C Programming Language यह एक सामान्य प्रयोजन वाली, संरचित भाषा है जिसे 1972 में डेनिस रिची ने बेल लैब्स में बनाया था। यह मशीन-स्वतंत्र, तीव्र है और सिस्टम सॉफ्टवेयर, ऑपरेटिंग सिस्टम, एम्बेडेड फर्मवेयर और आधुनिक भाषाओं जैसे के लिए आधारशिला बनाती है। C++, Java, तथा Python.

एचएमबी क्या है? C Programming Language?
C यह एक सामान्य प्रयोजन वाली प्रोग्रामिंग भाषा है जो बेहद लोकप्रिय, सरल और उपयोग में लचीली है। यह एक संरचित, मशीन-स्वतंत्र भाषा है जिसका उपयोग ऑपरेटिंग सिस्टम जैसे कई अनुप्रयोगों को लिखने के लिए किया जाता है। Windows और लिनक्स से लेकर जटिल प्रोग्रामों तक, जैसे कि Oracle डेटाबेस, गिट, और Python दुभाषिया।
C को अक्सर आधुनिक प्रोग्रामिंग की नींव कहा जाता है। एक बार C भाषा सीख लेने के बाद, अन्य भाषाएँ सीखना बहुत आसान हो जाता है क्योंकि उनमें से अधिकांश C के सिद्धांतों पर आधारित हैं। कंप्यूटर मेमोरी की बुनियादी समझ भी सहायक होती है, क्योंकि मेमोरी लगभग हर C प्रोग्राम का केंद्रबिंदु है।
आईईईई — 2018 की शीर्ष दस प्रोग्रामिंग भाषाएँ।
यह गाइड सी प्रोग्रामिंग भाषा की बुनियादी बातों के बारे में विस्तार से बताती है: इसका इतिहास, बुनियादी कमांड, प्रमुख अनुप्रयोग, यह अभी भी सीखने लायक क्यों है, और इसका संकलन मॉडल कैसे काम करता है।
सी भाषा का इतिहास
C भाषा अकेले प्रकट नहीं हुई — यह पहले की सिस्टम भाषाओं की एक श्रृंखला से विकसित हुई:
- एल्गोल (1960): ALGOL को अक्सर प्रोग्रामिंग भाषाओं का जनक कहा जाता है। ALGOL ने व्यापक डेवलपर समुदाय को संरचित प्रोग्रामिंग से परिचित कराया और इसे यूरोपीय विश्वविद्यालयों में व्यापक रूप से अपनाया गया।
- बीसीपीएल (1967): बेसिक कंबाइंड प्रोग्रामिंग लैंग्वेज, जिसे मार्टिन रिचर्ड्स ने सिस्टम सॉफ्टवेयर लिखने के लिए डिजाइन किया था।
- बी (1970): इसे AT&T बेल लेबोरेटरीज में केन थॉम्पसन द्वारा पेश किया गया था। B ने BCPL की कई विशेषताओं को अपनाया और इसका उपयोग शुरुआती UNIX टूल्स लिखने के लिए किया गया था।
In 1972डेनिस रिची ने इसे बनाया। C बेल लेबोरेटरीज में, C ने ALGOL, BCPL और B से सर्वश्रेष्ठ विचारों को लिया और नई अवधारणाओं को जोड़ा, जिससे यह अपने सभी पूर्ववर्ती संस्करणों की तुलना में अधिक अभिव्यंजक बन गया।
C भाषा का UNIX से गहरा संबंध है — UNIX ऑपरेटिंग सिस्टम का अधिकांश भाग C में ही लिखा गया था। जैसे-जैसे C भाषा बेल लैब्स से बाहर फैली, कई प्लेटफॉर्मों के लिए व्यावसायिक कंपाइलर उपलब्ध हुए और यह भाषा कई असंगत बोलियों में विकसित हो गई। एकरूपता बहाल करने के लिए, अमेरिकी राष्ट्रीय मानक संस्थान (ANSI) ने C का एक मानक प्रकाशित किया। 1989और अंतर्राष्ट्रीय मानकीकरण संगठन (आईएसओ) ने इसे अनुमोदित किया। 1990मानकीकृत संस्करण को व्यापक रूप से कहा जाता है एएनएसआई सी.
सी. का इतिहास
भाषाएँ जैसे C++ और Java C भाषा का विकास सीधे C से हुआ है, और कई आधुनिक भाषाएँ इसके सिंटैक्स और नियमों को अपनाती हैं। इसलिए, C आज के सॉफ्टवेयर के एक बड़े हिस्से का आधार है।
सी बेसिक कमांड
निम्नलिखित कमांड लगभग हर C प्रोग्राम का मूल ढांचा बनाते हैं।
| C मूल कमांड | व्याख्या |
|---|---|
#include <stdio.h> |
संकलन से पहले C लाइब्रेरी से मानक इनपुट-आउटपुट हेडर फ़ाइल शामिल करता है। |
int main() |
मुख्य कार्य — प्रत्येक सी प्रोग्राम का निष्पादन — यहीं से शुरू होता है। |
{ |
यह मुख्य फ़ंक्शन ब्लॉक की शुरुआत को दर्शाता है। |
/* some_comments */ |
एक टिप्पणी। कंपाइलर बीच की हर चीज़ को अनदेखा कर देता है। /* और */. |
printf("Hello, World!"); |
आउटपुट को स्क्रीन पर प्रिंट करता है। |
getch(); |
कीबोर्ड से एक अक्षर पढ़ता है (गैर-मानक, मुख्य रूप से टर्बो सी के साथ उपयोग किया जाता है)। |
return 0; |
मुख्य फ़ंक्शन को समाप्त करता है और ऑपरेटिंग सिस्टम को 0 मान लौटाता है। |
} |
यह मुख्य फ़ंक्शन ब्लॉक के अंत को दर्शाता है। |
सी का उपयोग कहाँ होता है? प्रमुख अनुप्रयोग
C कोड उन जगहों पर चलता है जिन्हें ज़्यादातर उपयोगकर्ता कभी नहीं देखते, लेकिन इसका प्रभाव बहुत व्यापक होता है। आम तौर पर निम्नलिखित क्षेत्रों में यह समस्या आती है:
- एम्बेडेड सिस्टम और माइक्रोकंट्रोलर फर्मवेयर।
- सिस्टम-स्तरीय एप्लिकेशन और ड्राइवर।
- एडोब के कई उत्पादों सहित डेस्कटॉप एप्लिकेशन।
- वेब ब्राउज़र और उनके एक्सटेंशन — गूगल के क्रोमियम में बड़ी मात्रा में सी/कोड शामिल है।C++ कोड।
- डेटाबेस — MySQL यह C भाषा में लिखे गए सबसे लोकप्रिय डेटाबेस में से एक है।
- Operaटिंग सिस्टम — एप्पल के macOS (डार्विन) Microsoft Windowsलिनक्स और ऐतिहासिक रूप से सिम्बियन सभी को सी भाषा का उपयोग करके बनाया गया था।
- कंपाइलर, भाषा रनटाइम और इंटरप्रेटर।
- इंटरनेट ऑफ थिंग्स (आईओटी) उपकरण और होम ऑटोमेशन फर्मवेयर।
C भाषा क्यों सीखें?
C कई प्रोग्रामिंग भाषाओं का आधार है, इसलिए C सीखने से बाद की सभी भाषाएँ सीखना आसान हो जाता है। इसमें वही डेटा प्रकार, ऑपरेटर और नियंत्रण कथन शामिल हैं जो आपको अन्य भाषाओं में भी देखने को मिलेंगे। C++, Java, Python, और जाओ।
C में निवेश करने के प्रमुख कारण निम्नलिखित हैं:
- गति: C भाषा नेटिव कोड में कंपाइल होती है और आपको मेमोरी पर बारीक नियंत्रण प्रदान करती है।
- पोर्टेबिलिटी: सी भाषा में लिखे गए प्रोग्रामों को पुनः संकलित किया जा सकता है और लगभग हर प्लेटफॉर्म पर चलाया जा सकता है।
- संरचना: एक C प्रोग्राम को मॉड्यूल में विभाजित किया जाता है, जिससे इसका परीक्षण, रखरखाव और डीबग करना आसान हो जाता है।
- कॉम्पैक्ट कोर: C भाषा में केवल 32 कीवर्ड, कई डेटा प्रकार और एक शक्तिशाली अंतर्निर्मित लाइब्रेरी है।
- तानाना: आप किसी लाइब्रेरी में अपने स्वयं के फ़ंक्शन जोड़ सकते हैं और उन्हें उसी तरह कॉल कर सकते हैं जैसे वे अंतर्निहित फ़ंक्शन हों।
- कैरियर मूल्य: एम्बेडेड, कर्नेल और हाई-परफॉर्मेंस भूमिकाओं के लिए अभी भी मजबूत सी भाषा कौशल की आवश्यकता है।
कैसे C Programming Language वर्क्स
C एक कंपाइल की जाने वाली भाषा है। कंपाइलर सोर्स कोड को पढ़ता है और एक ऑब्जेक्ट फ़ाइल बनाता है जिसे मशीन समझ सकती है। फिर लिंकर एक या अधिक ऑब्जेक्ट फ़ाइलों (और आपके द्वारा संदर्भित किसी भी लाइब्रेरी) को मिलाकर एक एकल निष्पादन योग्य फ़ाइल बनाता है जिसे लक्ष्य प्लेटफ़ॉर्म पर चलाया जा सकता है। नीचे दिया गया आरेख संपूर्ण निष्पादन प्रक्रिया को दर्शाता है।
कई कंपाइलर ऑनलाइन और ऑफलाइन उपलब्ध हैं, और वे सभी एक ही प्रक्रिया का पालन करते हैं। लोकप्रिय विकल्पों में शामिल हैं:
- जीसीसी — जीएनयू कंपाइलर कलेक्शन, जो लिनक्स और कई एम्बेडेड लक्ष्यों पर वास्तविक मानक है।
- बजना — LLVM-आधारित फ्रंट-एंड, जिसका उपयोग डिफ़ॉल्ट रूप से किया जाता है macOS.
- MinGW — न्यूनतम GNU के लिए Windowsजीसीसी को लाता है Windows उपयोगकर्ताओं।
- पोर्टेबल सी कंपाइलर (पीसीसी)।
- टर्बो सी — यह क्लासिक कंपाइलर अभी भी कई अकादमिक पाठ्यक्रमों में उपयोग किया जाता है।
सी के फायदे और नुकसान
नीचे दी गई तालिका में उन सभी बातों का सारांश दिया गया है जिन पर आपको किसी नए प्रोजेक्ट के लिए C भाषा चुनने से पहले विचार करना चाहिए।
| फायदे | नुकसान |
|---|---|
| मेमोरी और हार्डवेयर तक तेज़, निम्न-स्तरीय पहुंच। | मैन्युअल मेमोरी प्रबंधन से मेमोरी लीक और बफर ओवरफ्लो जैसी त्रुटियां होने की संभावना रहती है। |
| यह विभिन्न आर्किटेक्चर और ऑपरेटिंग सिस्टमों में पोर्टेबल है। | इसमें कोई अंतर्निहित ऑब्जेक्ट ओरिएंटेशन या जेनेरिक्स नहीं है। |
| केवल 32 कीवर्ड के साथ संक्षिप्त वाक्य संरचना। | कोई अंतर्निहित सुरक्षा तंत्र नहीं है — अनिश्चित व्यवहार चुपचाप दुर्घटना का कारण बन सकता है। |
| कंपाइलर्स, डिबगर्स और लाइब्रेरीज का विशाल इकोसिस्टम। | स्क्रिप्टिंग भाषाओं की तुलना में उच्च-स्तरीय एप्लिकेशन कोड के लिए अधिक विस्तृत जानकारी की आवश्यकता होती है। |
| Foundation आधुनिक भाषाओं के लिए — कौशल आसानी से स्थानांतरित हो जाते हैं। | उन कार्यों के लिए उत्पादकता धीमी हो जाती है जहां प्रबंधित भाषाएं पर्याप्त होतीं। |
C कोड लिखते समय सर्वोत्तम अभ्यास
नीचे दी गई आदतें C कोडबेस को पठनीय, पोर्टेबल और सामान्य मेमोरी बग से मुक्त रखती हैं:
- चेतावनी सक्षम करें: संकलन
-Wall -Wextra -Werrorइसलिए मामूली समस्याओं के कारण बिल्ड विफल हो जाता है। - चरों को प्रारंभ करें: किसी ऐसे वेरिएबल से कभी भी डेटा न पढ़ें जिसे कोई मान असाइन नहीं किया गया हो।
- रिटर्न वैल्यू की जांच करें:
mallocफाइल इनपुट/आउटपुट और सिस्टम कॉल सभी रिटर्न कोड के माध्यम से त्रुटियों का संकेत देते हैं। - हर एक को जोड़ें
mallocपंजीकरण शुल्कfree: लीक का पता लगाने के लिए स्टैटिक एनालिसिस या एड्रेस सैनिटाइजर का उपयोग करें। - सुरक्षित स्ट्रिंग फ़ंक्शन को प्राथमिकता दें: उपयोग
snprintfके बजायsprintfऔरstrncpyदेखभाल के साथ। - हेडर गार्ड का उपयोग करें: प्रत्येक हेडर को सुरक्षित रखें
#ifndef / #define / #endifरक्षक। - मानक पर भरोसा करें: जब तक आपके पास कंपाइलर एक्सटेंशन का उपयोग करने का कोई ठोस कारण न हो, तब तक पोर्टेबल ANSI/C99/C11 कोड लिखें।




