㈠ c語言的命令形參
結果是
demo.exe
This
is
a
program
命令形參是用來給一些程序傳一些啟動時參數,以決定這個程序的運行模式。比如我以前玩過一個游戲,在普通運行時與平時沒有兩樣,但是加入一個特殊的命令形參則能使這個游戲以演示模式運行。如果你用過cmd命令,應該很清楚命令形參的意義。
命令行從控制台輸入,由一個叫做"Shell"(命令解釋外殼)的程序來接受並對輸入的字元串進行解讀。首先,Shell會以空格來分割這些字元,變成n個字元串。這n個字元串的第一個通常就是要運行的可執行文件名。
另外在使用命令形參時要注意Shell會解釋並展開一些特殊字元。比如假設你上面寫的是
E:\TC>demo.exe "This is a program"
結果則是
demo.exe
This is a program
不想讓Shell展開你的特殊字元並以原樣傳給你的程序,則要轉義。
E:\TC>demo.exe \"This is a program\"
運行結果為:
demo.exe
"This
is
a
program"
㈡ 形參與實參的區別
一、函數中使用:
形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。
實參出現在主調函數中,進入被調函數後,實參變數也不能使用。
二、調用
形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
三、不是指針類型在內存中位置不同:
當形參和實參不是指針類型時,在該函數運行時,形參和實參是不同的變數,他們在內存中位於不同的位置,形參將實參的內容復制一份,在該函數運行結束的時候形參被釋放,而實參內容不會改變。
舉例:
1. 比如你定義一個函數void add(int a, int b),這里的a和b就是形參。
2. 當你進行函數調用的時候,add(1, 2),這里的1和2就是實參。
(2)命令形參擴展閱讀
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
沒有形參的函數在形參表的位置應該寫void.main 函數也可以有形參和返回值,其形參也稱為命令行參數,由操作系統在啟動程序時初始化,其返回值傳遞給操作系統。
兩者關系:
在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
網路-形參
網路-實參