亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

第一個參數argc表示參數個數,第二個參數argv是參數組,這個作用是什么

第一個參數argc表示參數個數,第二個參數argv是參數組 這個作用是什么呢?

正在回答

3 回答

我也是新手,如果我沒記錯的話,是用于在命令行執行的時候,傳遞參數用的。就像我們在命令行窗口運行命令傳遞的參數一樣,這里傳遞的也是字符串參數。第二個二級指針指向一個數組中。而這個數組類似我們在C語言中定義的一個指針數組。這里說起來話就長了,。

1
char?*strings[]?=?{?"Hello",?"World",?"C",?"Programming"?};

類似于這個數組,就是一個指針數組;這個指針數組里面有四個元素,這四個元素的值均為指針,其指向這四個常量字符串的首地址。例如訪問第一個常量字符串可以使用strings[0], 這個“strings[0]”返回值是第一個常量字符串的首地址。這個常量字符串占用6字節,末尾一個0值。?

說遠了,我們知道數組名是一個指針,也就是"strings",這個指針是一個指向指針的指針,也就是二級指針。若要傳遞給一個函數,函數的形式參數就得是一個二級指針,然后直接將strings填上去即可。例如:

1
main(sizeof(strings),?strings);

sizeof(strings)返回值為4,因為數組里面就存了四個指針值。


這樣我們在程序內就可以訪問到傳入的任意一個字符串了。要問有幾個字符串,我們可以直接通過main函數的第一個參數的值獲取下來,例如要訪問第二個字符串做printf打印,就可以這樣寫:

1
printf("%s\n",?argv[1]);

這樣就可以打印出第二個字符串了。"argv[1]"返回的就是第二個字符串的首地址了;



0 回復 有任何疑惑可以回復我~

dos命令用過吧,命令后面不是要根一些參數嗎,這兩個參數就是返回你從命令行給的參數的,你可以有這兩個參數實現和Dos命令一樣的功能,在你的程序里根據返回的參數來進程不同的程序邏輯的編寫

0 回復 有任何疑惑可以回復我~

我也是新手,如果我沒記錯的話,是用于在命令行執行的時候,傳遞參數用的。就像我們在命令行窗口運行命令傳遞的參數一樣,這里傳遞的也是字符串參數。第二個二級指針指向一個數組中。而這個數組類似我們在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]"返回的就是第二個字符串的首地址了;


可能有沒有描述清楚的,可以再進行提問哈。我也是新手,咱們共同交流學習。

望采納

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
趣味 C++ 入門
  • 參與學習       32230    人
  • 解答問題       195    個

C++ 入門,開啟趣味學習之旅,揭開 C++ 的神秘面紗,讓你不再望而生畏。

進入課程

第一個參數argc表示參數個數,第二個參數argv是參數組,這個作用是什么

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號