Passing char pointer to another function: blank value. c++ -
इस सवाल का पहले से ही एक उत्तर है: < / p>
- 4 जवाब
- 4 जवाब
मेरे पास निम्न बहुत सरल प्रोग्राम है।
int संशोधित करें (चार * v) {v = " 123 "; वापसी 0; } Int main (int argc, char ** argv) {char * test = new char [10]; (परीक्षण) को संशोधित; Std :: cout & lt; & lt; परीक्षण; वापसी 0; }
मुझे पता है कि मैं सिर्फ "123" को प्रिंट कर सकता हूं, लेकिन मैं जानबूझकर इसे कैसे सीखता हूं कि संकेतक कैसे काम करते हैं। हालांकि, "123" प्रिंट नहीं है। मुझे कैसे सही ढंग से पॉइंटर से गुजारना चाहिए?
आपको यह याद रखना होगा कि सी ++ तर्क में डिफ़ॉल्ट रूप से पास किया गया है < em> मूल्य से, जिसका मतलब है कि फ़ंक्शन में आप प्रतियां हैं, और एक प्रति को संशोधित करने से मूल नहीं बदलेगा।
यदि आप कुछ अन्य को इंगित करने के लिए संकेतक को बदलना चाहते हैं इसे संदर्भ से पास करने के लिए हालांकि, इस मामले में यह अन्य समस्याओं का कारण बन जाएगा, जैसा कि आप मूल पॉइंटर को ढीला कर देते हैं।
तो समाधान का संदर्भ संदर्भ द्वारा पारित किया जाता है, या शीर्ष प्रति गंतव्य गंतव्य क्षेत्र में उपयोग कर रहा है (लेकिन यदि आप
strcpy का उपयोग करें आपको आवंटित स्मृति से परे नहीं लिखने के लिए ध्यान रखना होगा।)
- 4 जवाब
Comments
Post a Comment