यह एक सूचक मेरी main.c
के बारे में * argv []
......
int main(int argc, char **argv)
{
init_arg(&argc, &argv);
......
}
यह मेरा init_arg.c
......
void init_arg(int *argc, char ***argv)
{
printf("%s\n", *argv[1]);
......
}
मुझे कोई त्रुटि और चेतावनी के साथ यह संकलक है।
मैं इसे चलाने:
./a.out include
यह मिल विभाजन गलती
जब मैंने इसे डिबग, मैंने पाया कदम printf("%s\n", *argv[1]);
गलत, यह शो:
print *argv[1]
Cannot access memory at address 0x300402bfd
मुझे पता है, init_arg()
समारोह में argv[1]
मुद्रित करने के लिए कैसे करना चाहते हैं।
+1 डीबगिंग के लिए पहले और इसे अपनी पोस्ट में शामिल करें! – jedwards
जीडीबी में जब आपका कोड दुर्घटनाग्रस्त हो जाता है तो आपके क्रैश तक पहुंचने वाले स्टैक ट्रेस को देखने के लिए कमांड बीटी चलाएं। Http://crasseux.com/books/ctutorial/argc-and-argv.html उदाहरण के लिए सी प्रोग्राम कोड जो प्रोग्राम तर्कों को संभालता है पढ़ें। –
यहां उदाहरणों के साथ एक स्निपेट है [http://pastebin.com/SVAZjsXA ](http://pastebin.com/SVAZjsXA) – dschulz