2013-04-29 12 views
7

के बीच अंतर असंबद्ध लघु int और सी में एक हस्ताक्षरित छोटी गिरावट के बीच कोई अंतर है और यदि हां, तो कृपया क्या है? मैंने ऑनलाइन देखने की कोशिश की, लेकिन कुछ भी सार्थक नहीं मिला।बिना हस्ताक्षरित शॉर्ट इंट और हस्ताक्षरित शॉर्ट

unsigned short int x1; 
unsigned short x2; 

आखिरकार, यदि कोई अंतर है, तो मैं उन्हें क्रमशः एक दूसरे को कैसे डाल सकता हूं?

+1

वहाँ कोई अंतर नहीं है। – Daniel

उत्तर

10
C11 [PDF] से

(अप्रासंगिक भागों छोड़े गए) (जोर मेरा):

6.7.2.2:

कम से कम एक प्रकार निर्दिष्टकर्ता प्रत्येक घोषणा, और में में घोषणा विनिर्देशक में दी जाएगी प्रत्येक संरचना घोषणा और प्रकार के नाम में विनिर्देशक-योग्यता सूची। टाइप विनिर्देशों की प्रत्येक सूची निम्नलिखित मल्टीसेट्स में से एक होगी (कॉमा द्वारा सीमित, जब प्रति आइटम एक से अधिक मल्टीसेट है); टाइप विनिर्देशक किसी भी क्रम में हो सकते हैं, संभावित रूप से अन्य घोषणा विनिर्देशों के साथ इंटरमीक्स किया जा सकता है।

  • ...
  • short, signed short, short int, या signed short int
  • unsigned short, या unsigned short int
  • ...

6.7.2.5:

अल्पविराम से अलग multisets से प्रत्येक में नामित एक ही प्रकार ...

+0

यह ध्यान रखना महत्वपूर्ण है कि तथ्य यह है कि वे समान हैं, यह गारंटी नहीं देता कि उनका आकार क्या है। वे 2 बाइट्स, 4 बाइट्स, 100 बाइट्स, जो भी हो सकते हैं। जब तक वे 'int' से अधिक नहीं हैं। – Daniel

+2

यदि आप सी 11 की एक और सुविधाजनक ऑनलाइन प्रतिलिपि से लिंक करना चाहते हैं, तो यहां: http: // port70।नेट/~ एनएसजे/सी/सी 11/एन 1570.html –

+0

मैं आपका लिंक टिप्पणी में रखूंगा, लेकिन उत्तर में पीडीएफ को लिंक रखूंगा। पीडीएफ के बारे में अच्छी बात यह है कि आप इसे डेस्कटॉप पर डाउनलोड और रख सकते हैं और एक्सेस करना आसान है। अच्छा लिंक हालांकि, यह उद्धरण के लिए निश्चित रूप से बेहतर है। – Shahbaz

3

बस short का उपयोग short int लिखने का एक छोटा सा हाथ (कोई इरादा नहीं है) तरीका है। बस long int के लिए एक छोटा हाथ है।

2

वे समानार्थी हैं। यदि आप कंपाइलर हैं तो उनके साथ कुछ अलग है, यह टूटा हुआ है।

-2

कोई फर्क नहीं पड़ता। sizeof ऑपरेटर का प्रयास करें:

main() 
{ 
    unsigned short int x1; 
    unsigned short x2; 

    printf("%d/%d\n", sizeof x1, sizeof x2); 
} 
+6

जैसा कि मैंने एक और टिप्पणी में कहा था: भले ही वे _are_ वही हैं (और आपका उत्तर सही है), आप कुछ साबित करने के लिए एक उदाहरण प्रस्तुत नहीं कर सकते हैं। 11 प्रमुख है, लेकिन यह सभी विषम संख्याओं को प्रमुख नहीं बनाता है। वैसे, 'int' और' unsigned int 'का आकार भी समान है, लेकिन वे समान नहीं हैं। – Shahbaz

+0

इसके अलावा, एक प्रकार का आकार विभिन्न कार्यान्वयन के बीच बदल सकता है। – effeffe

3

दोनों में कोई अंतर नहीं।

दूसरा को एक इंट माना जाता है और इसे छोड़ दिया जाता है।

संबंधित मुद्दे