Pages

Monday, 20 June 2016

Storage of Class in C / स्टोरेज क्लास

Storage of Class in C

स्टोरेज क्लास का संबंध सी के वेरिएबल  से हैं। स्टोरेज क्लास किसी वेरिएबल  के स्टोरेज लोकेसन तथा सीमाओ के बारे मे बताता हैं। यहाँ पर स्टोरेज लोकेसन का मतलब हैं की कम्प्युटर मे वेरिएबल  कहाँ पर मौजूद होगा, तथा उसका प्रारम्भिक मान क्या होगा। और सीमाओ का अर्थ हैं की वेरिएबल  प्रोग्राम के किसी एक फंक्शन तक सीमित होगा या पूरे प्रोग्राम मे वह कही से भी एक्सैस किया जा सकेगा। नीचे दिये कुछ बिन्दुओ के मध्य से संक्षिप्त मे जानते हैं की स्टोरेज क्लास क्या होता हैं।

1 वेरिएबल  कहाँ पर स्टोर होगा।

2 वेरिएबल  की प्रारम्भिक वैल्यू क्या होगी?

3 वेरिएबल  का स्कोप क्या होगा, यानि वेरिएबल  पूरे प्रोग्राम मे एक्सैस होगा या सिर्फ किसी निश्चित फंक्शन मे एक्सैस होगा?

4 वेरिएबल  का लाइफ क्या होगी, यानि प्रोग्राम मे वेरिएबल  का अस्तित्व कब तक रहेगा। क्योंकि कई वेरिएबल  ऐसे होंगे जो एक प्रोग्राम क्रियान्वयन मे कई बार अस्तित्व मे आएंगे और काम पूरा हो जाने के बाद तुरंत ही नष्ट हो जाएंगे, जबकि कुछ ऐसे वेरिएबल  होते हैं जो प्रोग्राम के प्रारम्भ से लेकर प्रोग्राम के अंत तक अस्तित्व मे रहते हैं।

सरल परिभाषा

“जिस प्रकार भारत मे भारतीय जनता को भारत सरकार ने चार क्लास मे बाँट रखा हैं ठीक उसी प्रकार सी भाषा मे वेरिएबल  को भी चाल क्लास मे बांटा गया हैं। भारत मे क्लास को जाती के आधार पर बांटा गया है तो सी मे क्लास, वेरिएबल  के स्टोरेज के आधार पर किया गया हैं। अगर कोई वेरिएबल  प्रोसेसर की मेमोरी मे बनाया गया हैं वह अलग क्लास का वेरिएबल  हैं, तो वही कुछ वेरिएबल  रैम की मेमोरी मे बनाए जाते हैं, तो यह वेरिएबल  अलग क्लास का वेरिएबल  होगा।”

सी प्रोग्राम मे 4 प्रकार के स्टोरेज क्लास पाये जाते हैं जिनके नाम निम्न प्रकार से नीचे दिये जा रहे हैं।

1 Automatic Storage Class

2 External Variable

3 Static Variable

4 Register Variable


1 ऑटोमैटिक वेरिएबल  

ऑटोमैटिक स्टोरेज क्लास का वेरिएबल  जब भी प्रोग्राम मे बनाया जाता हैं तो उसको बनाने के लिए निम्न कोड लिखा जाता हैं।


ऊपर दिये चित्र मे आप देख सकते है, दो प्रोग्राम दिए हुआ हैं, एक का नाम method1 और दूसरे का नाम method2 हैं। दोनों प्रोग्राम मे आप देख सकते हैं वेरिएबल  डिक्लेयर किया गया हैं, यह दोनों वेरिएबल  ऑटोमैटिक स्टोरेज क्लास वेरिएबल  हैं। अगर आप कोई वेरिएबल  बनाने (डिक्लेयर) करने जा रहे है और डाटा टाइप के पहले कोई भी स्टोरेज क्लास का नाम नहीं लिखते हैं, तब ऐसी स्थिति मे जो वेरिएबल  बनेगा वह स्वतः ही ऑटोमैटिक स्टोरेज क्लास का वेरिएबल  कहलाएगा। जैसे की ऊपर दिये चित्र के method1 मे आप देख सकते हैं।

अब यह समझते हैं की अगर कोई वेरिएबल  ऑटोमैटिक क्लास का हैं, तो उस वेरिएबल  के क्या गुण होंगे।

1 स्टोरेज – इस प्रकार के वेरिएबल  रैम मे बनाए जाते हैं।

2 प्रारम्भिक मान – ऐसे वेरिएबल  का प्रारम्भिक मान गारबेज होता हैं। जिसके बारे मे अनुमान नहीं लगाया जा सकता।

3 स्कोप : यह जिस फंक्शन के अंदर परिभाषित होता हैं केवल उसी फंक्शन तक इसकी पहुच होती हैं तथा प्रोग्राम के दूसरे फंक्शन के लिए ऐसे वेरिएबल  अंजान होते हैं।

4 लाइफ : जिस ब्लाक मे ये वेरिएबल  परिभाषित होते है जब तक वह ब्लाक क्रियान्वित हैं जब तक ही ये वेरिएबल  सक्रिय होते हैं इसके बाद ये नष्ट हो जाते हैं।


2 एक्सटर्नल वेरिएबल  स्टोरेज क्लास

एक्सटर्नल क्लास के वेरिएबल , ऐसे वेरिएबल  होते हैं जिनकी पहुच पूरे प्रोग्राम मे होती हैं, तथा इन्हे प्रोग्राम मे कही से भी एक्सैस किया जा सकता हैं। इनको परिभाषित करने के दो तरीके हैं जिनहे नीचे दिये प्रोग्राम मे बताया गया हैं।


मेथड1 मे हम देख सकते हैं की x नाम का वेरिएबल  परिभाषित किया गया हैं। जो की मेन फंक्शन के बाहर हैं। एसे वेरिएबल , एक्सटर्नल क्लास के वेरिएबल  कहे जाते हैं। यहाँ पर एक प्रश्न दिमाग मे आ रहा हैं की इसी तरह से ऑटोमैटिक वेरियाबले को भी परिभाषित किया जाता हैं तो फिर एक्सटर्नल और ऑटोमैटिक मे हमे फर्क कैसे पता चलेगा?

 
दोनों मे फर्क समझना बहुत ही आसान हैं, अगर कोई वेरिएबल  किसी फंक्शन के अंदर परिभाषित है तो यह समझना चाहिए की यह वेरिएबल  ऑटोमैटिक क्लास का हैं। जबकि अगर कोई वेरिएबल  किसी फंक्शन के बाहर परिभाषित हो तब यह समझना चाहिए की यह एक्सटर्नल क्लास का वेरिएबल  हैं।

अब यह समझते हैं की अगर कोई वेरिएबल  एक्सटर्नल क्लास का हैं, तो उस वेरिएबल  के क्या गुण होंगे।

1 स्टोरेज – इस क्लास के वेरिएबल  मेमोरी (रैम) पर बनते हैं।

2 प्रारम्भिक वैल्यू – इस प्रकार के वेरिएबल  की प्रारम्भिक वैल्यू शून्य होती हैं।

3 स्कोप – पूरे प्रोग्राम मे यह एक्सैस किए जा सकते हैं।

4 लाइफ – एक्सटर्नल क्लास के वेरिएबल  की लाइफ पूरे प्रोग्राम के क्रियान्वयन के समय रहती हैं। यानि प्रोग्राम के शुरू होने से लेकर प्रोग्राम के अंत तक इसका अस्तित्व होता हैं।


अब नीचे दो प्रोग्राम देखते हैं जिसमे हम एक्सटर्नल वेरिएबल  के स्वभाव को जानेंगे। पहले प्रोग्राम मे एक्सटर्नल किबर्ड का उपयोग न करते हुये, एक्सटर्नल क्लास वेरिएबल  बनाया गया हैं तथा उसे प्रोग्राम मे मौजूद सभी फंक्शन द्वारा एक्सैस करते दिखाया जा रहा हैं। नीचे दिये प्रोग्राम मे आप देख रहे हैं की एक वेरिएबल  जिसका नाम a हैं, परिभाषित किया गया है main() फंक्शन के ऊपर, पर इसमे एक्सटर्नल कीवर्ड का प्रयोग नहीं किया गया हैं। क्योंकि आ किसी भी फंक्शन के अंदर परिभाषित नहीं हैं, अगर आ किसी फंक्शन के अंदर परिभाषित होता तब इसके आगे extern कीवर्ड लगाना जरूरी होता नहीं तो वह वेरिएबल  ऑटोमैटिक क्लास का वेरिएबल  कहलाता।


ऊपर दिये प्रोग्राम मे आप देख रहे हैं की तीन फंक्शन बनाए गए हैं, और तीनों फंक्शन a वेरिएबल को एक्सैस कर रहे हैं, ऐसा इसलिए हो रहा हैं क्योंकि a किसी फंक्शन के अंदर नहीं परिभाषित किया गया हैं बल्कि प्रोग्राम मे मौजूद सभी फंक्शन के बाहर परिभाषित किया गया हैं। इस प्रकार हम बिना extern कीवर्ड के एक्सटर्नल क्लास का वेरिएबल  बनाते हैं। अब इस प्रोग्राम के आउटपुट को देखते हैं। 


प्रोग्राम के आउटपुट को देखने से हमे एक्सटर्नल क्लास के वेरिएबल  के लाइफ के बारे मे जानकारी पता चलता हैं। इस प्रोग्राम मे a नाम का वेरिएबल  बनाया गया, जिसमे वैल्यू 10 स्टोर हैं। इसके बाद main() फंक्शन के अंदर हम वेरिएबल  a को एक्सैस कर रहे हैं और उसकी वैल्यू को प्रिंट कर रहे हैं, अब आउटपुट मे देखे a = 10 प्रिंट हुआ। इससे यह पता चलता हैं की a मे स्टोर की गई वैल्यू जो की 10 थी अभी भी मेमोरी मे मौजूद हैं, अब main() मे दो बार increment() और दो बार decrement() फंक्शन उपयोग हुये हैं, increment() जब क्रियान्वित होता हैं, तो वह a की वैल्यू मे 1 जोड़ देता हैं। अब वापस आउटपुट की दूसरी और तीसरी लाइन देखिये जिसमे लिखा हुआ हैं a = 11 और a = 12 क्रमशः। जिससे यह साफ पता चलता हैं की जब increment फंकशन call हुआ तब a की पुरानी वैल्यू यानि 10 a मे स्टोर थी, जो साफ तौर पर यह इशारा करता हैं की एक्सटर्नल क्लास के वेरिएबल  का जीवन काल पूरे प्रोग्राम क्रियान्वयन के समय बना रहता हैं। जबकि ऑटोमैटिक क्लास के वेरिएबल  का जीवन काल केवल उस फंक्शन के क्रियान्वयन तक ही रहता हैं जिसमे वह परिभाषित होता हैं। अब नीचे एक प्रोग्राम दिया हुआ हैं जिसमे हम एक्सटर्नल क्लास का वेरिएबल , extern कीवर्ड की सहायता से बनाएँगे।

3 रजिस्टर क्लास वेरिएबल  :

रजिस्टर क्लास का वेरिएबल  बिलकुल ऑटोमैटिक क्लास के वेरिएबल  जैसा होता हैं। बस फर्क सिर्फ इतना हैं की ऑटोमैटिक क्लास का वेरिएबल  कम्प्युटर के रैम मे बनाया जाता हैं जबकि रजिस्टर क्लास का वेरिएबल  CPU प्रॉसेसर मे बनाया जाता हैं। और यह ऑटोमैटिक क्लास के वेरिएबल  की तुलना मे ज्यादा तेज़ी के साथ प्रोसेस होता है।

1 स्टोरेज – इस प्रकार के वेरिएबल  CPU प्रॉसेसरमे बनाए जाते हैं।

2 प्रारम्भिक मान – ऐसे वेरिएबल  का प्रारम्भिक मान गारबेज होता हैं। जिसके बारे मे अनुमान नहीं लगाया जा सकता।

3 स्कोप : यह जिस फंक्शन के अंदर परिभाषित होता हैं केवल उसी फंक्शन तक इसकी पहुच होती हैं तथा प्रोग्राम के दूसरे फंक्शन के लिए ऐसे वेरिएबल  अंजान होते हैं।

4 लाइफ : जिस ब्लाक मे ये वेरिएबल  परिभाषित होते है जब तक वह ब्लाक क्रियान्वित हैं जब तक ही ये वेरिएबल सक्रिय होते हैं इसके बाद ये नष्ट हो जाते हैं।


नीचे दिये प्रोग्राम के माध्यम से हम जानने की कोसिश करेंगे की कैसे रजिस्टर क्लास के वेरिएबल बनाए जाते हैं।


ऊपर दिये प्रोग्राम मे हम देख सकते हैं, की i नाम का एक int टाइप वेरिएबल बनाया गया हैं, जिसके आगे register लिखा गया हैं। जो कंपाइलर को यह बताता हैं की यह रजिस्टर क्लास का वेरिएबल होगा।

4 स्टेटिक स्टोरेज क्लास

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

एक लोकल वेरिएबल जो स्टेटिक क्लास से संबंध नहीं रखता हैं, जब भी उस लोकल वेरिएबल का फंक्शन क्रियान्वित (call) होगा जब जब वह वेरिएबल मेमोरी मे फिर से बनेगा , फिर से initialize होगा, और फंक्शन के समाप्त होते ही वह लोकल वेरिएबल भी समाप्त हो जाएगा। परंतु वह वेरिएबल जो स्टेटिक क्लास के होते हैं, वह लोकल वेरिएबल होते हुए भी मेमोरी मे एक बार ही बनाए जाते हैं तथा एक बार ही initialize होते हैं।

1 स्टोरेज – इस प्रकार के वेरिएबल  रैम (मेमोरी) मे बनाए जाते हैं।

2 प्रारम्भिक मान – ऐसे वेरिएबल  का प्रारम्भिक मान शून्य होता हैं।

3 स्कोप : यह जिस फंक्शन के अंदर परिभाषित होता हैं केवल उसी फंक्शन तक इसकी पहुच होती हैं तथा प्रोग्राम के दूसरे फंक्शन के लिए ऐसे वेरिएबल  अंजान होते हैं।

4 लाइफ : स्टेटिक क्लास के वेरिएबल पूरे प्रोग्राम के दौरान सक्रिय रहते हैं। इंका जीवन काल पूरे प्रोग्राम मे रहता हैं।


अब नीचे दिये प्रोग्राम के माध्यम से यह जानते हैं की स्टेटिक क्लास का वेरिएबल कैसे बनाया जाता हैं। तथा दूसरे कलाम मे एक प्रोग्राम और बनाया गया हैं जिसके आउटपुट के आधार पर यह प्रोग्राम, आपको स्टेटिक वेरिएबल और सामान्य/ऑटोमैटिक वेरिएबल के बीच का फर्क बताएगा।


इस प्रोग्राम का आउटपुट निम्न प्रकार है।


अब अगर आप ऊपर प्रोग्राम मे ध्यान से देखेंगे तो पाएंगे की स्टेटिक क्लास का वेरिएबल बनाने के लिए static कीवद आ प्रयोग डाटा टाइप के पहले किया गया हैं। इसके अलावा अब आप प्रोग्राम के आउटपुट को देखेंगे तो पाएंगे की दोनों के आउटपुट मे अंतर (भिन्नता) हैं। स्टेटिक क्लास का वेरिएबल जो की increment() फंक्शन के अंदर परिभाषित हैं, जब भी increment() फंक्शन रन होता हैं, उसके अंदर मौजूद स्टेटिक क्लास का वेरिएबल i अपनी पुरानी वैल्यू के साथ ही क्रियान्वित (execute) होता हैं। जबकि लोकल वेरिएबल का हल फंक्शन call मे फिर से मेमोरी एलोकेशन और वैल्यू initialization कर रहा हैं, जिसके कारण हर बार i का आउटपुट 1 आ रहा हैं।

एक वास्तविक दुनिया का उदाहरण के माध्यम से स्टेटिक और ऑटोमैटिक वेरिएबल के बीच का फर्क समझते हैं। मानिए कलयुग एक प्रोग्राम हैं एक जन्म किसी C प्रोग्राम के फंक्शन के समान हैं। अब मानिए किसी व्यक्ति का जन्म होता हैं और उसे अपने पुराने सभी जन्मो के बारे मे याद हैं तो हम उस व्यक्ति को स्टेटिक वेरिएबल कहेंगे, जबकि एसे व्यक्ति को ऑटोमैटिक वेरिएबल कहेंगे जिनहे अपने पूर्व जन्मो के बारे मे कुछ भी नहीं याद हैं।

आशा करता हूँ की शायद इस उदाहरण से आपको कुछ लाभ मिला होगा।

Friday, 17 June 2016

First Program in C / सी भाषा मे पहला प्रोग्राम



सी भाषा मे पहला प्रोग्राम

सी मे प्रोग्रामिंग करने से पहले सी प्रोग्राम को कैसे लिखा जाता हैं उसके बारे मे कुछ नियम जान लेना बहुत ही जरूरी हैं। जिसे नीचे दिये बिन्दुओ द्वारा बताया जा रहा हैं।

1-  सी प्रोग्राम मे हेडर फ़ाइल सम्मालित किया जाता हैं। जिससे कम्प्युटर को आपके प्रोग्राम मे उपयोग होने वाले फंक्शन के कार्यो की जानकारी हो सके।

2-  सी मे बनाए प्रोग्राम मे main() नाम के फंक्शन होना बहुत ही अनिवार्य हैं।

3-  एक प्रोग्राम मे केवल एक ही main() होता हैं।

4-  सी प्रोग्राम का क्रियान्वयन main() से ही होता हैं।

5-  अगर सी भाषा मे main() नहीं हैं तो प्रोग्राम किसी भी हालत मे नहीं चलेगा।

6-  प्रोग्राम मे उपयोक्त होने वाले सभी कमांड और फंक्शन का प्रयोग main() के बाद लगे “{” “}” कर्ली ब्रसेस के बीच मे ही करना चाहिए।

7-  आमतौर मे सी मे सभी स्टेटमेंट अँग्रेजी के लोवर केस मे ही लिखना चाहिए। 

8-  अँग्रेजी के अपर केस का प्रयोग केवल सांकेतिक नाम, आउटपुट स्ट्रिंग और संदेशो के लिए ही करना चाहिए।

9-  सी प्रोग्राम मे सभी स्टेटमेंट यानि इन्सट्रक्शन को सेमीकालन की सहायता से बंद करना चाहिए।

10-    प्रोग्राम कमेंट लिखने की आदत डाले। कमेन्ट आपको और दूसरे नए प्रोग्रामर को प्रोग्राम के प्रोसीजर के बारे जानकारी देता हैं। जिससे प्रोग्राम ओ समझने मे आसानी होती हैं।

11-    {  }” कर्ली ब्रसेस का प्रयोग कोड का समूह बनाने के लिए होता हैं। और वह कोड सिर्फ उसी समूह के लिए करते हैं।


Application of C Language



एप्लिकेशन ऑफ सी प्रोग्राम

सी प्रोग्रामिंग को मुख्य रूप मे प्रोग्राममिंग भाषा के रूप मे जाना जाता हैं। जिसका प्रयोग कर कम्प्युटर आधारित कई प्रोग्राम लिख सकते हैं। सी को मिडिल लेवेल प्रोग्रामिंग भी कहा जाता हैं क्योंकि यह प्रोग्रामर को हाइ लेवल प्रोग्रामिंग सुविधा तो देती हैं साथ मे कम्प्युटर हार्डवेयर को मशीन लेवल भाषा की सुविधा देती हैं इसलिए इसे मिडिल लेवल प्रोग्रामिंग कहा जाता हैं।

सी भाषा क्यो एक मिडिल लेवल प्रोग्रामिंग हैं?

1-  सी प्रोग्रामिंग इनलाइन असेंबली प्रोग्राम को सपोर्ट करती हैं। यानि आप सी भाषा का उपयोग कर असेंबली के कोड इसमे उपयोग कर सकते हैं।

2-   इनलाइन असेंबली का प्रयोग कर प्रोसेसर के रजिस्टर को सीधे सीधे एक्सेस किया जा सकता हैं।

3-  पॉइंटर का प्रयोग कर कम्प्युटर मेमोरी को मनचाहा एक्सेस किया जा सकता हैं।

4-  सी प्रोग्राम हाइ लेवेल सुविधा प्रदान करता हैं जिससे प्रोग्रामर को इसमे प्रोग्रामिंग करने मे आसानी होती हैं।

5-  प्रोग्रामर सी भाषा को आसानी से समझ सकता हैं क्योंकि इसके ज्यादा तर कमण्ड्स अँग्रेजी भाषा के शब्दो पर हैं जिससे कमण्ड्स को याद रखना असान हैं।

सी प्रोग्रामिंग के उपयोग निम्न प्रकार से हैं।

1-  कम्प्युटर एप्लिकेशन का निर्माण करने के लिए सी भाषा का प्रयोग किया जाता हैं।

2-  एम्बेडेड सोफ्टवेयर को लिखने के लिए सी भाषा का प्रयोग होता हैं। एम्बेडेड सोफ्टवेयर वह सोफ्टवेयर होते हैं जो मशीन और डिवाइस को कंट्रोल करने के लिए बनाए जाते हैं।

3-  फिर्मवेयर सोफ्टवेयर को बनाने के लिए सी भाषा का प्रयोग होता हैं। यह एसे प्रोग्राम होते हैं जो किसी डिवाइस मे सुरक्षित होते हैं, जैसे टीवी का रिमोट, फ्रिज का मेनू, टेलीफोने की डाइलिंग स्क्रीन आदि।

4-  सी भाषा का उपयोग कई दूसरे प्रोग्रामिंग हश का कंपाइलर बनाने के लिए किया जाता हैं। 

5-  सी भाषा के उपयोग से यूनिक्स ऑपरेटिंग सिस्टम का कर्नल बनाया गया हैं।

6-  सी का प्रयोग कई प्रकार के ऑपरेटिंग सिस्टम के आपरेशन को क्रियान्वित करने के लिए किया जाता हैं।

7-  सी भाषा का उपयोग कई नेटवर्किंग और ऑपरेटिंग सिस्टम के एल्गोरिदम्स के लिए भी किया जाता हैं।

8-  सी भाषा का प्रयोग कर कई डाटाबेस मैनेजमेंट सिस्टम लिखे गए हैं।

9-  सी भाषा का प्रयोग कर प्रिंटर स्पूलर बनाए गए हैं। स्पूलर एक सोफ्टवेयर होता हैं जो कम्प्युटर से भेजे गए सभी प्रिंटिंग जॉब को मैनेज करता हैं।

10-    सी भाषा का प्रयोग कर सिमुलेटर का निर्माण भी किया जाता हैं। सिमुलेटर एक एप्लिकेशन होता हैं जो कम्प्युटर या कम्प्युटर से जुड़े नेटवर्क के किसी तंत्र के व्यवहार की गणना करता हैं।

Features of C Programming



सी भाषा के गुण :-

कम्प्युटर सर्विसेस मे सी प्रोग्रामिंग का बहुत ही उपयोग हैं तथा सी दूसरी नई भाषाओ का आदर्श भी माना जाता हैं। सी भाषा का प्रयोग कई प्रकार के उद्देश्यों को पूरा करने के लिए किया जाता हैं। आखिर ऐसा क्या खास हैं सी भाषा मे जो उसके इस लोकप्रियता का कारण हैं तो निम्न दिये बिन्दुओ के माध्यम से हम सी भाषा के गुणो को जानते हैं।

1- लो लेवल भाषा को सपोर्ट करना :-

सी प्रोग्रामिंग लो लेवल भाषा को सपोर्ट करती हैं, आप सी भाषा का प्रयोग कर आप असेंबली भाषा के प्रोग्राम को क्रियान्वित कर सकते हैं। जिसकी वजह से सी भाषा भी लो लेवेल भाषा की तरह कार्य करती हैं।
सी भाषा का प्रयोग कर आप काफी सरलता से असेंबली भाषा का कोड लिख कर प्रोग्राम बना सकते हैं जैसे नीचे दिया हुआ हैं।

2- पोर्टबिल्टी

सी भाषा मे बनाए गए प्रोग्राम किसी भी दूसरे कंपाईलर मे थोड़ बदलाव या बिना किसी बदलाव के क्रियान्वित हो सकते हैं। इस लिए सी भाषा मे बनाए गए प्रोग्राम पोर्टेबल होते हैं।
कंपाइलर और प्री- प्रोसेसर की वजह से सी भाषा के प्रोग्राम अलग अलग कम्प्युटर मे रन हो सकते हैं।

3- पावरफुल

सी भाषा कई प्रकार के डाटा टाइप की सुविधा प्रदान करता हैं
पहले से बने हुए कई महत्वपूर्ण फंक्शन हैं जिसका प्रयोग कर आपने तरह तरह के समस्याओ को हल करने के लिए प्रोग्राम बना सकते हैं।
सी भाषा मे कई उपयोगी और महत्वपूर्ण डिसीजन मेकिंग और लूपिंग स्टेटमेंट की सुविधा होती हैं। जो भाषा को और ताकतवर बनाता हैं।

4- बिट मैनीपूलेशन

बिट का प्रयोग कर सी की प्रोग्रामिंग की जा सकती हैं। बिट लेवेल मे कई आपरेशन आप सी प्रोग्राम की सहायता से कर सकते हैं। बिट लेवल मे मेमोरी रिप्रजेंटेशन को मैनेज किया जा सकता हैं
सी प्रोग्रामिंग मे बिटवाइज़ ऑपरेटर का प्रयोग कर बिट स्तर पर डाटा को प्रोसेस किया जा सकता हैं।

5- हाइ लेवेल के गुण :

यह पुरानी भाषाओ के मुक़ाबले यूजर फ्रेंडली भाषा हैं जो की डाटा को मैनेज करने के लिए कई अच्छे सुविधाए प्रदान करती हैं, जिससे प्रोग्रामिंग करना सरल हो गया हैं।
सी मे पुरानी भाषाओ के सभी महत्वपूर्ण गुणो को शामिल किया गया हैं। जिसकी वजह से सी और प्रभावशाली भाषा के रूप मे मौजूद हैं।

6- मॉडुलर प्रोग्रामिंग :-

मॉडुलर प्रोग्रामिंग एक सोफ्टवेयर डिज़ाइन तकनीक हैं, जिसमे पोग्राम के सभी फंक्शन को अलग अलग परिभाषित कर एक जगह पर आवश्यक पड़ने पर उपयोग किया जाता हैं।

7- पॉइंटर का प्रभावशाली उपयोग

सी प्रोग्रामिंग भाषा मे एक बहुत ही महत्वपूर्ण गुण का प्रयोग किया गया पॉइंटर, जिसका प्रयोग कर मेमोरी को सीधे सीधे एक्सेस किया जा सकता हैं।

8- प्रसारित करने का गुण

सी भाषा मे आवश्यकता पड़ने पर प्रोग्रामर अपनी आवश्यकता के आधार पर नए फंक्शन का निर्माण कर सकता हैं तथा उन फंक्शन का प्रयोग किसी दूसरे प्रोग्राम मे भी कर सकता हैं।  जिससे सी अपने को नए फंक्शनों के साथ प्रसार भी कर सकता हैं।

Popular Posts