मैं अपने प्रोग्राम में मुख्य() तर्कों में से एक को पॉइंटर बनाने की कोशिश कर रहा हूं। मैंने प्रारंभिक सूचक सेट अप किया है, फिर मैंने इसे सरणी में दूसरे तत्व के बराबर सेट किया है, लेकिन संकलन गलती को संकलित करने का प्रयास करते समय मुझे एक त्रुटि मिलती है। क्या ऐसा होता है क्योंकि एक सूचक एक बुरे पते की ओर इशारा कर रहा है?मुख्य() तर्कों से स्ट्रिंग निकालने
यहाँ कोड है:
char *filename;
*filename = argv[1];
printf("The filename is: %s", *filename);
मैं सूचक के बारे में त्रुटियों को पूर्णांक के रूप में तर्क कास्ट करने के लिए कोशिश कर रहा हो। क्या ऐसा इसलिए है क्योंकि सूचक वास्तव में एक पूर्णांक पता मान है और मैं इसे एक स्ट्रिंग के बराबर सेट करने की कोशिश कर रहा हूं?
संपादित करें: जब मैं "filename = argv [1]" में बदलता हूं, तो मुझे अपने कंपाइलर से निम्न त्रुटि मिलती है: असाइनमेंट पॉइंटर लक्ष्य प्रकार से क्वालीफायर को छोड़ देता है।
इसी तरह 'printf (" फ़ाइल नाम है:% s ", फ़ाइल नाम);'। '% S' विनिर्देशक एक चरित्र * सूचक * की अपेक्षा करता है। – dmckee
जब मैं "filename = argv [1]" में बदलता हूं, तो मुझे अपने कंपाइलर से निम्न त्रुटि मिलती है: असाइनमेंट पॉइंटर लक्ष्य प्रकार से क्वालीफायर को छोड़ देता है। – Kelp
@ केल्प: मुख्य int (int argc, char ** argv) 'या' int main (int argc, char * argv []) 'के साथ मुख्य परिभाषित करें। – pmg