c語言參數個數
⑴ c語言獲取函數參數的數組的元素個數
C語言中,定義數組後可以用sizeof命令獲得數組的長度(可容納元素個數),通過數組占內存總空間/單個元素占內存空間大小,即可得到數組的元素個數
例如
但是,通過將數組作為函數參數傳遞到函數中,以獲得數組長度是不可行的
例如
原因:數組arr是函數參數,在函數中,arr只是一個指針(地址,系統在本函數運行時,是不知道arr所表示的地址有多大的數據存儲空間,這里只是告訴函數:一個數據存儲空間首地址),所以,sizoef(arr)的結果是指針變數arr占內存的大小,一般在32位機上是4個位元組。arr[0]是int類型,sizeof(arr[0])也是4個位元組,所以,結果永遠是1。
如果想要在被調用的函數中,得知原數組的大小,可以再給函數添加一個參數,用於指定數組的大小,讓外界調用函數前就講數組的大小傳遞進來
⑵ C語言怎麼判斷函數里有幾個參數
函數f有3個參數。(x,y)是一個逗號表達式,傳遞的實參是y。其它兩個也是逗號表達式,傳遞的實參分別是c和4。即以上函數調用語句就相當於:f(y,c,4)。
⑶ c語言中main函數的參數
main函數可以不帶參數,也可以帶參數,這個參數可以認為是 main函數的形式參數。
C語言規定main函數的參數只能有兩個,還規定argc(第一個形參)必須是整型變數,argv( 第二個形參)必須是指向字元串的指針數組。加上形參說明後,main函數的函數頭應寫為:
int main (int argc,char *argv[])
由於main函數不能被其它函數調用,因此不可能在程序內部取得實際值。那麼,在何處把實參值賦予main函數的形參呢? 實際上,main函數的參數值是從操作系統命令行上獲得的。當我們要運行一個可執行文件時,在DOS提示符下鍵入文件名,再輸入實際參數即可把這些實參傳送到main的形參中去。
DOS提示符下命令行的一般形式為:
C:\>可執行文件名 參數 參數……