सी चर, डेटाटाइप, स्थिरांक
⚡ स्मार्ट सारांश
वेरिएबल, डेटा टाइप और कॉन्स्टेंट हर C प्रोग्राम की नींव बनाते हैं, जहां वेरिएबल बदलने योग्य मानों को स्टोर करते हैं, डेटा टाइप उस डेटा के आकार और सीमा को परिभाषित करते हैं, और कॉन्स्टेंट निश्चित मानों को रखते हैं जो कभी नहीं बदलते हैं।

चर (वेरिएबल) क्या है?
एक चर एक पहचानकर्ता है जिसका उपयोग कुछ मान संग्रहीत करने के लिए किया जाता है। निष्पादन के समय स्थिरांक कभी नहीं बदल सकते। चर किसी प्रोग्राम के निष्पादन के दौरान बदल सकते हैं और उसके अंदर संग्रहीत मान को अपडेट कर सकते हैं।
एक ही वेरिएबल का इस्तेमाल प्रोग्राम में कई जगहों पर किया जा सकता है। वेरिएबल का नाम अर्थपूर्ण होना चाहिए। यह वेरिएबल के उद्देश्य को दर्शाता होना चाहिए।
Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person
प्रोग्राम के अंदर कहीं भी इस्तेमाल किए जाने से पहले किसी वैरिएबल को पहले घोषित किया जाना चाहिए। एक वैरिएबल का नाम अक्षरों, अंकों और अंडरस्कोर का उपयोग करके बनाया जाता है।
वेरिएबल बनाते समय निम्नलिखित नियमों का पालन किया जाना चाहिए:
- एक चर नाम में केवल अक्षर, अंक और अंडरस्कोर ही होना चाहिए।
- किसी चर का नाम किसी संख्या से शुरू नहीं होना चाहिए.
- किसी चर नाम में रिक्त स्थान नहीं होना चाहिए.
- किसी चर नाम में कीवर्ड शामिल नहीं होना चाहिए.
- 'सी' एक केस सेंसिटिव भाषा है, जिसका अर्थ है कि 'age' और 'AGE' नामक वेरिएबल अलग-अलग हैं।
'सी' प्रोग्राम में मान्य चर नामों के उदाहरण निम्नलिखित हैं:
height or HEIGHT
_height
_height1
My_name
'सी' प्रोग्राम में अमान्य चर नामों के उदाहरण निम्नलिखित हैं:
1height Hei$ght My name
उदाहरण के लिए, हम एक पूर्णांक चर my_variable घोषित करते हैं और उसे 48 मान असाइन करते हैं:
int my_variable;
my_variable = 48;
वैसे, हम एक ही कथन में किसी चर को घोषित और आरंभीकृत (आरंभिक मान निर्दिष्ट) कर सकते हैं:
int my_variable = 48;
जानकारी का प्रकार
'C' विभिन्न डेटा प्रकार प्रदान करता है जिससे प्रोग्रामर के लिए किसी एप्लिकेशन की आवश्यकताओं के अनुसार उपयुक्त डेटा प्रकार का चयन करना आसान हो जाता है। निम्नलिखित तीन डेटा प्रकार हैं:
- आदिम डेटा प्रकार
- व्युत्पन्न डेटा प्रकार
- उपयोगकर्ता-परिभाषित डेटा प्रकार
पाँच प्राथमिक मौलिक डेटा प्रकार हैं,
- पूर्णांक डेटा के लिए int
- वर्ण डेटा के लिए char
- फ्लोटिंग पॉइंट संख्याओं के लिए फ्लोट
- डबल परिशुद्धता फ़्लोटिंग पॉइंट संख्याओं के लिए डबल
- शून्य
ऐरे, फ़ंक्शन, पॉइंटर और स्ट्रक्चर व्युत्पन्न डेटा प्रकार हैं। 'सी' भाषा उपरोक्त प्राथमिक डेटा प्रकारों के अधिक विस्तारित संस्करण प्रदान करती है। प्रत्येक डेटा प्रकार आकार और सीमा में एक दूसरे से भिन्न होता है। नीचे दी गई तालिका प्रत्येक डेटा प्रकार के आकार और सीमा को दर्शाती है।
| डाटा प्रकार | आकार बाइट्स में | रेंज |
| चार या हस्ताक्षरित चार | 1 | 128 - 127 |
| अचिन्हित वर्ण | 1 | 0 से 255 तक |
| int या signed int | 2 | 32768 - 32767 |
| अहस्ताक्षरित int | 2 | 0 से 65535 तक |
| लघु int या अहस्ताक्षरित लघु int | 2 | 0 से 255 तक |
| हस्ताक्षरित लघु int | 2 | 128 - 127 |
| लंबा int या हस्ताक्षरित लंबा int | 4 | 2147483648 - 2147483647 |
| अहस्ताक्षरित लंबा int | 4 | 0 से 4294967295 तक |
| नाव | 4 | 3.4E-38 से 3.4E+38 |
| डबल | 8 | 1.7E-308 से 1.7E+308 |
| लंबा डबल | 10 | 3.4E-4932 से 1.1E+4932 |
नोट: C में बूलियन डेटा प्रकार नहीं होता है।
पूर्णांक डेटा प्रकार
पूर्णांक कुछ और नहीं बल्कि एक पूर्ण संख्या है। पूर्णांक डेटा प्रकार की सीमा मशीन दर मशीन अलग-अलग होती है। पूर्णांक डेटा प्रकार की मानक सीमा -32768 से 32767 है।
एक पूर्णांक आम तौर पर 2 बाइट्स का होता है, जिसका मतलब है कि यह मेमोरी में कुल 16 बिट्स का उपभोग करता है। एक एकल पूर्णांक मान मेमोरी के 2 बाइट्स लेता है। एक पूर्णांक डेटा प्रकार को आगे अन्य डेटा प्रकारों में विभाजित किया जाता है जैसे कि शॉर्ट इंट, इंट और लॉन्ग इंट।
प्रत्येक डेटा प्रकार की सीमा अलग-अलग होती है, भले ही वह पूर्णांक डेटा प्रकार परिवार से संबंधित हो। पूर्णांक परिवार के प्रत्येक डेटा प्रकार के लिए आकार में बदलाव नहीं हो सकता है।
लघु int का प्रयोग अधिकतर छोटी संख्याओं को संग्रहीत करने के लिए किया जाता है, int का प्रयोग औसत आकार के पूर्णांक मानों को संग्रहीत करने के लिए किया जाता है, तथा दीर्घ int का प्रयोग बड़े पूर्णांक मानों को संग्रहीत करने के लिए किया जाता है।
जब भी हम किसी पूर्णांक डेटा प्रकार का उपयोग करना चाहते हैं, तो हमें पहचानकर्ता से पहले int लगाना पड़ता है, जैसे कि:
int age;
यहां, आयु एक पूर्णांक डेटा प्रकार का चर है जिसका उपयोग पूर्णांक मानों को संग्रहीत करने के लिए किया जा सकता है।
फ़्लोटिंग पॉइंट डेटा प्रकार
पूर्णांकों की तरह, 'C' प्रोग्राम में हम फ़्लोटिंग पॉइंट डेटा प्रकारों का भी उपयोग कर सकते हैं। फ़्लोटिंग पॉइंट डेटा प्रकार को दर्शाने के लिए 'फ़्लोट' कीवर्ड का उपयोग किया जाता है। यह फ़्लोटिंग पॉइंट मान रख सकता है जिसका अर्थ है कि किसी संख्या में एक अंश और एक दशमलव भाग होता है। फ़्लोटिंग पॉइंट मान एक वास्तविक संख्या है जिसमें एक दशमलव बिंदु होता है। पूर्णांक डेटा प्रकार दशमलव भाग को संग्रहीत नहीं करता है इसलिए हम मान के दशमलव भाग को संग्रहीत करने के लिए फ़्लोट का उपयोग कर सकते हैं।
आम तौर पर, एक फ़्लोट 6 परिशुद्धता मान तक रख सकता है। यदि फ़्लोट पर्याप्त नहीं है, तो हम अन्य डेटा प्रकारों का उपयोग कर सकते हैं जो बड़े फ़्लोटिंग पॉइंट मान रख सकते हैं। डेटा प्रकार डबल और लॉन्ग डबल का उपयोग क्रमशः 14 और 80 बिट तक की परिशुद्धता के साथ वास्तविक संख्याओं को संग्रहीत करने के लिए किया जाता है।
फ़्लोटिंग पॉइंट नंबर का उपयोग करते समय कीवर्ड फ़्लोट/डबल/लॉन्ग डबल को पहचानकर्ता से पहले रखा जाना चाहिए। मान्य उदाहरण हैं,
float division; double BankBalance;
चरित्र डेटा प्रकार
वर्ण डेटा प्रकार का उपयोग एकल उद्धरण चिह्नों में संलग्न एकल वर्ण मान को संग्रहीत करने के लिए किया जाता है।
एक कैरेक्टर डेटा टाइप मेमोरी में 1 बाइट तक की जगह लेता है।
उदाहरण,
Char letter;
शून्य डेटा प्रकार
शून्य डेटा प्रकार में कोई मान नहीं होता है या कोई मान वापस नहीं करता है। इसका उपयोग अधिकतर 'C' में फ़ंक्शन को परिभाषित करने के लिए किया जाता है।
उदाहरण,
void displayData()
किसी चर का प्रकार घोषणा
int main() { int x, y; float salary = 13.48; char letter = 'K'; x = 25; y = 34; int z = x+y; printf("%d \n", z); printf("%f \n", salary); printf("%c \n", letter); return 0;}
आउटपुट:
59 13.480000 K
एक ही पंक्ति में एक ही डेटा प्रकार के कई चरों को अल्पविराम से अलग करके घोषित किया जा सकता है। साथ ही, printf आउटपुट फ़ंक्शन में प्रारूप विनिर्देशकों के उपयोग पर ध्यान दें: float (%f), char (%c) और int (%d)।
स्थिरांक
स्थिरांक वे निश्चित मान होते हैं जो किसी प्रोग्राम के निष्पादन के दौरान कभी नहीं बदलते। स्थिरांक के विभिन्न प्रकार निम्नलिखित हैं:
पूर्णांक स्थिरांक
पूर्णांक स्थिरांक कुछ और नहीं बल्कि अंकों या संख्याओं से बना एक मान है। प्रोग्राम के निष्पादन के दौरान ये मान कभी नहीं बदलते। पूर्णांक स्थिरांक ऑक्टल, दशमलव और हेक्साडेसिमल हो सकते हैं।
दशमलव स्थिरांक में 0-9 तक के अंक होते हैं जैसे,
Example, 111, 1234
ऊपर मान्य दशमलव स्थिरांक दिए गए हैं।
अष्टाधारी स्थिरांक में 0-7 तक के अंक होते हैं, तथा इस प्रकार के स्थिरांकों के पहले हमेशा 0 आता है।
Example, 012, 065
ऊपर मान्य अष्टाधारी स्थिरांक दिए गए हैं।
हेक्साडेसिमल स्थिरांक में 0-9 तक के अंक और साथ ही AF के अक्षर शामिल होते हैं। हेक्साडेसिमल स्थिरांक के पहले हमेशा 0X होता है।
Example, 0X2, 0Xbcd
ऊपर मान्य हेक्साडेसिमल स्थिरांक दिए गए हैं।
'सी' प्रोग्रामिंग में ऑक्टल और हेक्साडेसिमल पूर्णांक स्थिरांक का प्रयोग बहुत कम किया जाता है।
वर्ण स्थिरांक
एक कैरेक्टर कांस्टेंट में केवल एक ही कैरेक्टर होता है जो सिंगल कोटेशन मार्क (') के अंदर होता है। हम कैरेक्टर कांस्टेंट को उसके ASCII मान द्वारा भी दर्शा सकते हैं।
Example, 'A', '9'
ऊपर मान्य वर्ण स्थिरांक के उदाहरण दिए गए हैं।
स्ट्रिंग स्थिरांक
एक स्ट्रिंग स्थिरांक में दोहरे उद्धरण चिह्नों (“”) के भीतर संलग्न वर्णों का अनुक्रम होता है।
Example, "Hello", "Programming"
ये वैध स्ट्रिंग स्थिरांक के उदाहरण हैं।
वास्तविक स्थिरांक
पूर्णांक स्थिरांक की तरह जिसमें हमेशा एक पूर्णांक मान होता है। 'C' वास्तविक स्थिरांक भी प्रदान करता है जिसमें एक दशमलव बिंदु या एक अंश मान होता है। वास्तविक स्थिरांक को फ़्लोटिंग पॉइंट स्थिरांक भी कहा जाता है। वास्तविक स्थिरांक में एक दशमलव बिंदु और एक अंश मान होता है।
Example, 202.15, 300.00
ये ' में वैध वास्तविक स्थिरांक हैंC'.
एक वास्तविक स्थिरांक को इस प्रकार भी लिखा जा सकता है,
Mantissa e Exponent
उदाहरण के लिए, एक ऐसा मान घोषित करने के लिए जो क्लासिक सर्कल स्थिरांक PI की तरह नहीं बदलता है, इस स्थिरांक को घोषित करने के दो तरीके हैं
किसी वेरिएबल की घोषणा में const कीवर्ड का उपयोग करके, एक स्टोरेज मेमोरी आरक्षित की जा सकती है।
#include <stdio.h> int main() { const double PI = 3.14; printf("%f", PI); //PI++; // This will generate an error as constants cannot be changed return 0;}
#define प्री-प्रोसेसर डायरेक्टिव का उपयोग करके, जो स्टोरेज के लिए मेमोरी का उपयोग नहीं करता है, और उस स्टेटमेंट के अंत में सेमीकोलन कैरेक्टर लगाए बिना।
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
