सी चर, डेटाटाइप, स्थिरांक

⚡ स्मार्ट सारांश

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

  • 🔤 चर: एक वेरिएबल एक नामित पहचानकर्ता होता है जिसका मान बदल सकता है, और इसे अक्षरों, अंकों या अंडरस्कोर का उपयोग करके घोषित किया जाता है।
  • 🧮 डेटा के प्रकार: C टाइप प्रिमिटिव, डिराइव्ड और यूजर-डिफाइंड होते हैं, जिनमें int, char, float, double और void शामिल हैं, और प्रत्येक का एक निश्चित आकार और रेंज होता है।
  • 🔒 स्थिरांक: स्थिरांकों का मान निश्चित होता है और इनमें पूर्णांक, वर्ण, स्ट्रिंग और वास्तविक स्थिरांक शामिल होते हैं जो कभी नहीं बदलते।
  • ⚙️ घोषणा: const कीवर्ड और #define निर्देश दोनों ही स्थिरांक बनाते हैं, एक मेमोरी आरक्षित करता है और दूसरा टेक्स्ट को प्रतिस्थापित करता है।
  • 🤖 एआई सहायता: GitHub Copilot सही डेटा प्रकारों का सुझाव देता है, नामकरण त्रुटियों को चिह्नित करता है और 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;}

अक्सर पूछे जाने वाले प्रश्न

वेरिएबल एक नामित मेमोरी लोकेशन होता है जिसका मान निष्पादन के दौरान बदल सकता है। वहीं, कॉन्स्टेंट एक निश्चित मान रखता है जो एक बार परिभाषित होने के बाद कभी नहीं बदलता।

const कीवर्ड एक टाइप्ड, मेमोरी-बेस्ड कॉन्स्टेंट बनाता है जिसकी कंपाइलर जाँच करता है। #define एक प्रीप्रोसेसर मैक्रो है जो टेक्स्ट को प्रतिस्थापित करता है और किसी भी प्रकार की स्टोरेज का उपयोग नहीं करता है।

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

एक साइन्ड टाइप में ऋणात्मक और धनात्मक दोनों मान संग्रहित होते हैं। जबकि एक अनसाइन्ड टाइप में केवल गैर-ऋणात्मक मान संग्रहित होते हैं, जिससे समान संख्या में बाइट्स के लिए धनात्मक मानों की सीमा दोगुनी हो जाती है।

क्लासिक सी में बूलियन टाइप नहीं था; प्रोग्रामर 0 और 1 के साथ इंट का उपयोग करते थे। सी99 के बाद से, _Bool प्रकार के माध्यम से bool, true और false जोड़ता है।

फॉर्मेट स्पेसिफायर printf और scanf को बताते हैं कि डेटा को कैसे इंटरप्रेट करना है। %d पूर्णांकों को हैंडल करता है, %f फ्लोटिंग-पॉइंट संख्याओं को हैंडल करता है और %c एक सिंगल कैरेक्टर को हैंडल करता है।

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

गिटहब कोपिलॉट यह टिप्पणियों या आस-पास के कोड से चर और स्थिरांक घोषणाओं को स्वतः पूर्ण करता है। यह नाम और डेटा प्रकार सुझाता है और समीक्षा के लिए const या #define पंक्तियों का प्रारूप तैयार करता है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: