हम जानते हैं कि 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।