- 1 1. परिचय
- 2 2. C भाषा को मूल डेटा प्रकार र आकार
- 3 3. डेटा प्रकार आकारको वातावरण निर्भरता
- 4 4. sizeof ऑपरेटरद्वारा डेटा प्रकारको आकार जाँच गर्नुहोस्
- 5 5. स्थिर-चौडाइ पूर्णांक प्रकार(stdint.h को प्रयोग)
- 6 6. संरचना को आकार र अलाइनमेंट
- 7 7. उपयुक्त डेटा प्रकारको चयन गर्ने तरिका
- 8 8. FAQ(बारम्बार सोधिने प्रश्नहरू)
- 9 9. सारांश
1. परिचय
सी भाषा एम्बेडेड सिस्टम र सिस्टम प्रोग्रामिङ जस्ता विभिन्न प्रयोजनहरूमा प्रयोग हुने प्रोग्रामिङ भाषा हो। त्यसमा, “डेटा प्रकार” र “साइज़” ले प्रोग्रामको मेमोरी प्रयोग र प्रदर्शनमा ठूलो प्रभाव पार्छ। विशेष गरी, विभिन्न वातावरण (32bit / 64bit, Windows / Linux आदि) मा प्रोग्राम चलाउँदा डेटा प्रकारको आकार परिवर्तन हुन सक्छ, त्यसैले सही प्रकार चयन गर्नु महत्त्वपूर्ण हुन्छ।
यस लेखमा, सी भाषा को आधारभूत डेटा प्रकारको आकार, वातावरण अनुसारको भिन्नता, र उपयुक्त प्रकार चयन गर्ने बुँदाहरूको व्याख्या गर्नेछौं। अतिरिक्त रूपमा, sizeof
अपरेटरको प्रयोग विधि र स्थिर-चौडाइ पूर्णांक प्रकार (stdint.h
) को उपयोग विधि जस्ता व्यावहारिक जानकारी पनि प्रस्तुत गर्नेछौं। यसले सी भाषा को प्रकार सम्बन्धी बुझाइलाई गहिरो बनाउनेछ र प्रभावकारी प्रोग्रामिङ गर्न सक्षम बनाउनेछ।
2. C भाषा को मूल डेटा प्रकार र आकार
2.1 इन्टिजर प्रकारको आकार सूची
डेटा प्रकार | 32bit वातावरण | 64bit वातावरण | न्यूनतम आकार |
---|---|---|---|
char | 1 बाइट | 1 बाइट | 1 बाइट |
short | 2 बाइट | 2 बाइट | 2 बाइट |
int | 4 बाइट | 4 बाइट | 2 बाइट |
long | 4 बाइट | 8 बाइट | 4 बाइट |
long long | 8 बाइट | 8 बाइट | 8 बाइट |
2.2 फ्लोटिङ पोइन्ट प्रकारको आकार सूची
डेटा प्रकार | 32bit वातावरण | 64bit वातावरण |
---|---|---|
float | 4 बाइट | 4 बाइट |
double | 8 बाइट | 8 बाइट |
long double | 8-16 बाइट | 16 बाइट |
3. डेटा प्रकार आकारको वातावरण निर्भरता
3.1 OS र कम्पाइलर अनुसार आकारको भिन्नता
डेटा प्रकार | Windows (LLP64) | Linux (LP64) | 32bit वातावरण |
---|---|---|---|
int | 4 बाइट | 4 बाइट | 4 बाइट |
long | 4 बाइट | 8 बाइट | 4 बाइट |
long long | 8 बाइट | 8 बाइट | 8 बाइट |
4. sizeof
ऑपरेटरद्वारा डेटा प्रकारको आकार जाँच गर्नुहोस्
4.1 sizeof
को मूलभूत
#include <stdio.h>
int main() {
printf("Size of int: %zu bytesn", sizeof(int));
printf("Size of double: %zu bytesn", sizeof(double));
return 0;
}
5. स्थिर-चौडाइ पूर्णांक प्रकार(stdint.h
को प्रयोग)
#include <stdio.h>
#include <stdint.h>
int main() {
int8_t a = 100;
uint16_t b = 50000;
int32_t c = -123456;
uint64_t d = 1000000000ULL;
printf("Size of int8_t: %zu bytesn", sizeof(a));
printf("Size of uint16_t: %zu bytesn", sizeof(b));
printf("Size of int32_t: %zu bytesn", sizeof(c));
printf("Size of uint64_t: %zu bytesn", sizeof(d));
return 0;
}

6. संरचना को आकार र अलाइनमेंट
6.1 संरचना को मेमोरी लेआउट
#include <stdio.h>
struct example {
char a;
int b;
double c;
};
int main() {
printf("Size of struct: %zu bytesn", sizeof(struct example));
return 0;
}
7. उपयुक्त डेटा प्रकारको चयन गर्ने तरिका
7.1 इन्टिजर प्रकारको चयन गर्ने तरिका
डेटा प्रकार | आकार | सीमा |
---|---|---|
int8_t | 1B | -128 – 127 |
uint8_t | 1B | 0 – 255 |
int32_t | 4B | लगभग -2.1B – 2.1B |
uint32_t | 4B | 0 – 4.2B |
8. FAQ(बारम्बार सोधिने प्रश्नहरू)
Q1: sizeof
को परिणाम unsigned int किन हुन्छ?
A:
C भाषामा, sizeof
को रिटर्न मान size_t
प्रकारको हो, जुन unsigned integer प्रकार हो। नकारात्मक आकार अस्तित्वमा नहुनुका कारण, यसलाई सुरक्षित प्रकारको रूपमा परिभाषित गरिएको छ।
size_t size = sizeof(int);
printf("Size of int: %zu bytesn", size);
9. सारांश
9.1 यस लेखको मुख्य बुँदाहरू
✅ डेटा प्रकारको आकार वातावरणमा निर्भर हुन्छ
✅ sizeof
प्रयोग गरेर वास्तविक आकार जाँच गर्नुहोस्
✅ स्थिर-चौडाइ पूर्णांक प्रकारलाई उपयोग गर्नुहोस्
✅ संरचनाको आकार मेमोरी अलाइनमेंटद्वारा प्रभाव पाउँछ
✅ उपयुक्त डेटा प्रकारको चयन गर्ने तरिका