c++ - Unexpected results for "sizeof" of strings -


निम्नलिखित मामलों में sizeof क्यों भिन्न मान मुद्रित करें:

  printf ("% d ", sizeof (" ab ")); // print 3 char * t = "ab"; printf ( "% d", sizeof (टी)); // प्रिंट 4   

पहले मामले में मेरे पास 2 वर्ण हैं ... sizeof प्रिंट 2 नहीं होना चाहिए? क्योंकि वे 2 बाइट हैं?

सी में स्ट्रिंग्स निरर्थक समाप्त होती हैं। < / Blockquote>

"ab" मेमोरी में लगता है कि 'a' 'b' '\ 0'

जबकि t एक सूचक है, तो आकार 4 है।

Comments