c++ - Segmentation fault in equating a char pointer value to some char -
संभव डुप्लिकेट:
चार * स्ट्रिंग = "एबीसीडी";
अब जब मैं इस स्ट्रिंग के कुछ चरित्र को बदलने की कोशिश करता हूं तो मुझे विभाजन त्रुटि मिलती है
* string = 'p';
या
स्ट्रिंग [0] = 'p'; स्ट्रिंग [0] = 52;
क्या कोई मुझे कारण बताता है कि ऐसा क्यों हो रहा है।
धन्यवाद
Alok.Kr।
यदि आप char * string = "abcd" लिखते हैं;
स्ट्रिंग "abcd" स्थिर में रखता है अपनी मेमोरी का डेटा हिस्सा और आप इसे संशोधित नहीं कर सकते हैं।
और यदि ओ <<> कोड टाइप करें; स्ट्रिंग = 'पी'; लिखते हैं, यह सिर्फ गलत है सबसे पहले, आप समान नाम (स्ट्रिंग) के साथ एक वैरिएबल को घोषित करने का प्रयास करते हैं और इससे भी बदतर है, आप चार पॉइंटर वैरिएबल के लिए एक राइट मान आवंटित करने का प्रयास करते हैं। यह काम नहीं करता है एक ही बात: चार [0] = 'पी';
वास्तव में एक वाक्य रचना त्रुटि को छोड़कर आपके कंपाइलर के लिए कुछ भी नहीं है।
Comments
Post a Comment