我恰好有幾個函數通過argv[]
數組訪問程序的不同參數。現在,這些函數嵌套在main()
函數中,因爲編譯器提供了允許這種結構的語言擴展。如何從main()函數外部訪問argv []?
我想擺脫嵌套功能,以便互操作性是可能的而不依賴於語言擴展。
首先我想到了一個程序啓動時我會指向argv[]
的數組指針,這個變量將在main()
函數之外,並在函數之前聲明,以便它們可以被它們使用。
所以我聲明這樣的指針,如下所示:
char *(*name)[];
應的指針,指針數組爲字符。然而,當我試圖把它指向argv[]
我得到工作分配中的警告不兼容的指針類型:
name = &argv;
可能是什麼問題呢?你有沒有想過使用main()
功能以外的其他方式訪問argv[]
陣列?
+1作爲第一個答案*和*唯一的答案迄今爲止解釋錯誤。 – 2010-10-30 09:11:43
謝謝你的解釋!我使用'argv'作爲'char * argv []',所以我在開始時想到了一個數組指針。 – Sergi 2010-10-30 09:18:10
@Johannes,@Sergi:謝謝,我希望C/C++書籍對數組和指針的差異提出更大的口音。這些經常混淆起來...... – 2010-10-30 09:18:33