हम जानते हैं कि sizeof
किसी भी डेटाटाइप और अभिव्यक्ति के आकार की गणना के लिए एक ऑपरेटर का उपयोग किया जाता है, और जब ऑपरेंड एक अभिव्यक्ति होता है, तो कोष्ठक को छोड़ा जा सकता है।
int main()
{
int a;
sizeof int;
sizeof( int );
sizeof a;
sizeof( a );
return 0;
}
पहला उपयोग sizeof
गलत है, जबकि अन्य सही हैं।
जब इसे gcc का उपयोग करके संकलित किया जाता है, तो निम्न त्रुटि संदेश दिया जाएगा:
main.c:5:9: error: expected expression before ‘int’
मेरा सवाल है कि सी मानक इस तरह के संचालन की अनुमति क्यों नहीं देता है। sizeof int
किसी भी अस्पष्टता का कारण होगा ?
sizeof +(int)a
लाभ है *&
;-)
+
। उदाहरण के लिए, sizeof +(char)a == sizeof(int)
पूर्णांक पदोन्नति के कारण, यह शायद कम त्रुटि-प्रवण होता है, क्योंकि यदि आप जिस आकार का आकार लेने की कोशिश कर रहे हैं, उसके बारे में कोई चिंता नहीं है। इसलिए मुझे यकीन नहीं है कि मैं इसे "एक उपयोग" कहने के लिए बहुत दूर जाऊंगा, हालांकि मैं मानता हूं कि मैंने इसका इस्तेमाल किया है ...
sizeof (int)a
।