課程
/后端開發
/C++
/趣味 C++ 入門
第一個參數argc表示參數個數,第二個參數argv是參數組 這個作用是什么呢?
2024-02-02
源自:趣味 C++ 入門 2-3
正在回答
我也是新手,如果我沒記錯的話,是用于在命令行執行的時候,傳遞參數用的。就像我們在命令行窗口運行命令傳遞的參數一樣,這里傳遞的也是字符串參數。第二個二級指針指向一個數組中。而這個數組類似我們在C語言中定義的一個指針數組。這里說起來話就長了,。
char
*strings[]?=?{?
"Hello"
,?
"World"
"C"
"Programming"
};
類似于這個數組,就是一個指針數組;這個指針數組里面有四個元素,這四個元素的值均為指針,其指向這四個常量字符串的首地址。例如訪問第一個常量字符串可以使用strings[0], 這個“strings[0]”返回值是第一個常量字符串的首地址。這個常量字符串占用6字節,末尾一個0值。?
說遠了,我們知道數組名是一個指針,也就是"strings",這個指針是一個指向指針的指針,也就是二級指針。若要傳遞給一個函數,函數的形式參數就得是一個二級指針,然后直接將strings填上去即可。例如:
main(
sizeof
(strings),?strings);
sizeof(strings)返回值為4,因為數組里面就存了四個指針值。
這樣我們在程序內就可以訪問到傳入的任意一個字符串了。要問有幾個字符串,我們可以直接通過main函數的第一個參數的值獲取下來,例如要訪問第二個字符串做printf打印,就可以這樣寫:
printf
(
"%s\n"
,?argv[1]);
這樣就可以打印出第二個字符串了。"argv[1]"返回的就是第二個字符串的首地址了;
dos命令用過吧,命令后面不是要根一些參數嗎,這兩個參數就是返回你從命令行給的參數的,你可以有這兩個參數實現和Dos命令一樣的功能,在你的程序里根據返回的參數來進程不同的程序邏輯的編寫
char?*strings[]?=?{?"Hello",?"World",?"C",?"Programming"?};
main(sizeof(strings),?strings);
printf("%s\n",?argv[1]);
可能有沒有描述清楚的,可以再進行提問哈。我也是新手,咱們共同交流學習。
望采納
舉報
C++ 入門,開啟趣味學習之旅,揭開 C++ 的神秘面紗,讓你不再望而生畏。
3 回答參數列表中的參數
2 回答add函數調用參數太少
1 回答關于參數問題
2 回答輸出結果第二個數報錯
2 回答對于參數有疑問
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2025-02-08
我也是新手,如果我沒記錯的話,是用于在命令行執行的時候,傳遞參數用的。就像我們在命令行窗口運行命令傳遞的參數一樣,這里傳遞的也是字符串參數。第二個二級指針指向一個數組中。而這個數組類似我們在C語言中定義的一個指針數組。這里說起來話就長了,。
char
?*strings[]?=?{?
"Hello"
,?
"World"
,?
"C"
,?
"Programming"
?};
類似于這個數組,就是一個指針數組;這個指針數組里面有四個元素,這四個元素的值均為指針,其指向這四個常量字符串的首地址。例如訪問第一個常量字符串可以使用strings[0], 這個“strings[0]”返回值是第一個常量字符串的首地址。這個常量字符串占用6字節,末尾一個0值。?
說遠了,我們知道數組名是一個指針,也就是"strings",這個指針是一個指向指針的指針,也就是二級指針。若要傳遞給一個函數,函數的形式參數就得是一個二級指針,然后直接將strings填上去即可。例如:
main(
sizeof
(strings),?strings);
sizeof(strings)返回值為4,因為數組里面就存了四個指針值。
這樣我們在程序內就可以訪問到傳入的任意一個字符串了。要問有幾個字符串,我們可以直接通過main函數的第一個參數的值獲取下來,例如要訪問第二個字符串做printf打印,就可以這樣寫:
printf
(
"%s\n"
,?argv[1]);
這樣就可以打印出第二個字符串了。"argv[1]"返回的就是第二個字符串的首地址了;
2024-08-10
dos命令用過吧,命令后面不是要根一些參數嗎,這兩個參數就是返回你從命令行給的參數的,你可以有這兩個參數實現和Dos命令一樣的功能,在你的程序里根據返回的參數來進程不同的程序邏輯的編寫
2024-02-07
我也是新手,如果我沒記錯的話,是用于在命令行執行的時候,傳遞參數用的。就像我們在命令行窗口運行命令傳遞的參數一樣,這里傳遞的也是字符串參數。第二個二級指針指向一個數組中。而這個數組類似我們在C語言中定義的一個指針數組。這里說起來話就長了,。
類似于這個數組,就是一個指針數組;這個指針數組里面有四個元素,這四個元素的值均為指針,其指向這四個常量字符串的首地址。例如訪問第一個常量字符串可以使用strings[0], 這個“strings[0]”返回值是第一個常量字符串的首地址。這個常量字符串占用6字節,末尾一個0值。?
說遠了,我們知道數組名是一個指針,也就是"strings",這個指針是一個指向指針的指針,也就是二級指針。若要傳遞給一個函數,函數的形式參數就得是一個二級指針,然后直接將strings填上去即可。例如:
sizeof(strings)返回值為4,因為數組里面就存了四個指針值。
這樣我們在程序內就可以訪問到傳入的任意一個字符串了。要問有幾個字符串,我們可以直接通過main函數的第一個參數的值獲取下來,例如要訪問第二個字符串做printf打印,就可以這樣寫:
這樣就可以打印出第二個字符串了。"argv[1]"返回的就是第二個字符串的首地址了;
可能有沒有描述清楚的,可以再進行提問哈。我也是新手,咱們共同交流學習。
望采納