2012-02-20 23 views
8

मैं एक योग्यता और संशोधक के बीच अंतर जानना चाहता हूं। कुछ किताबें बताती हैं कि volatile एक संशोधक है, अन्य पुस्तकें इसे क्वालीफायर मानती हैं।सी में क्वालीफायर और संशोधक के बीच क्या अंतर है?

तो एक चर के संबंध में वास्तव में एक संशोधक और योग्यता क्या है?

+0

बोनस प्रश्न: "घोषणा विनिर्देशक" कहां फिट है? – Kos

+1

@ कोस: "एक घोषणा विनिर्देशक" एक और सामान्य श्रेणी है। वास्तव में सी व्याकरण में एकवचन "घोषणा-विनिर्देशक" जैसी कोई चीज नहीं है, लेकिन "घोषणा-विनिर्देशक" भंडारण वर्ग विनिर्देशकों की सूची है ('typedef',' static', 'extern', 'auto',' register'), क्वालीफायर ('const',' limit', 'volatile') टाइप करें, फ़ंक्शन विनिर्देशक ('इनलाइन') और टाइप नाम जो (अनौपचारिक रूप से) कहें कि वास्तव में क्या परिभाषित किया जा रहा है। –

+0

पुस्तक के लेखक से पूछें, उन्होंने नीले रंग से "संशोधक" शब्द बनाया है। ऐसा कोई शब्द नहीं है। – Lundin

उत्तर

6

सी शब्दावली में volatileक्वालीफायर है।

const, restrict, volatile और सी 11 _Atomic सी प्रकार क्वालीफायर हैं।

सी शब्दावली किसी वस्तु को घोषित करते समय संशोधक शब्द का उपयोग नहीं करती है।

+0

स्टोरेज कक्षाओं पर आपका क्या लेना है, क्या वे क्वालीफायर के अंतर्गत भी आते हैं? –

+0

'स्थिर 'और' बाहरी 'स्टोरेज क्लास विनिर्देशक हैं, क्वालीफायर नहीं। एक अंतर यह है कि उनका उपयोग केवल परिभाषाओं में किया जाता है, जबकि क्वालीफायरों का घोषणा घोषणाओं में किया जा सकता है। – ugoren

+0

@ugoren: हालांकि वाक्यविन्यास में ऐसा कोई भेद नहीं है। यह सिर्फ मानक राज्य के विभिन्न हिस्सों में है कि स्टोरेज क्लास विनिर्देशक के साथ बहुत अधिक ऑब्जेक्ट घोषणा एक परिभाषा, एक तरफ या एथर है (क्योंकि यह एक स्वचालित है, या क्योंकि यह एक टिकाऊ परिभाषा है, या क्योंकि यह बाहरी परिभाषा है, या संभवतः अन्य प्रकार की परिभाषा मैंने नहीं सोचा है)। –

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