के रूप में शीर्षक.
void foo() {}
int main(void) {
foo(); // what is the value of this expression?
}
इसका मतलब यह है कि void
यह भी एक प्रकार के मूल्य में सी है? या मैं कैसे करना चाहिए कि समझते हैं?
के रूप में शीर्षक.
void foo() {}
int main(void) {
foo(); // what is the value of this expression?
}
इसका मतलब यह है कि void
यह भी एक प्रकार के मूल्य में सी है? या मैं कैसे करना चाहिए कि समझते हैं?
एक शून्य अभिव्यक्ति का कोई मूल्य नहीं है, और वास्तव में नहीं किया जा सकता । इस में विस्तार में वर्णित है अनुभाग 6.3.2.2 के सी मानक:
के (nonexistent) मूल्य के एक शून्य अभिव्यक्ति (एक अभिव्यक्ति है कि प्रकार
void
) इस्तेमाल नहीं किया जाएगा किसी भी तरह से, और अस्पष्ट या स्पष्ट रूपांतरण (छोड़कर के लिएvoid
) नहीं किया जाएगा लागू करने के लिए इस तरह के एक अभिव्यक्ति है । अगर एक अभिव्यक्ति के किसी भी अन्य प्रकार है मूल्यांकन के रूप में एक शून्य अभिव्यक्ति, अपने मूल्य या डेसिग्नेटर खारिज कर दिया है. (एक शून्य अभिव्यक्ति मूल्यांकन किया जाता है के लिए अपने साइड इफेक्ट है।)
खैर, हाँ और नहीं. नहीं, शून्य का एक प्रकार है कि कोई मूल्य नहीं है । बस के रूप में नाम का सुझाव है, यह प्रतिनिधित्व करता है के अभाव में टाइप एक अभिव्यक्ति है । लेकिन हाँ, क्योंकि प्रतिनिधित्व के अभाव का एक प्रकार का तात्पर्य है कि यह मूल्य है. और है कि मूल्य है बस का प्रतिनिधित्व करने के लिए कुछ भी नहीं है कि एक भाषा में करने की क्षमता की आवश्यकता के विभिन्न प्रकार के भेद डेटा.