374
京東網上商城
函數中的形式參數和實際參數
1.舉例:使用函數交換兩個整形變量的值
運行結果:
分析:
c語言中實際參數和形式參數之間采用值傳遞的方式來傳遞數據。在被調函數中,使用的是實際參數的一個拷貝數據。我們在swap函數中交換了a和b,那隻是主函數x,y數據的一個備份,不能對main函數中的x,y產生影響,就像我們修改了一個複印件,不會對原件造成任何影響。
形式參數和實際參數可以不同名。
使用數組作為函數的形式參數,可以完成兩個整數的交換。傳遞的是數組的名字(數組的第一個元素的起始地址)
2.使用數組作為函數的參數,交換數據:
運行結果:
根本的原因就是,數組作為參數的時候,傳遞的是數組的首地址,而在內存中,地址是唯一的, 無論是在main函數中修改,還是在swap以及其他函數中修改一個地址上的內容,都會對這個地址產生效果。
3.練習:在函數中測試一個參數數組的長度
在一個函數中測試作為形式參數的數組的長度是不能實現的,原因:數組傳遞的時候傳遞的是地址。sizeof(地址) = 4.4/4=1。所以,形式參數為數組的時候,我們應該設計成兩個參數,一個是數組,一個就是數組的長度。
int f(int a[], int count ,..) { }
最後更新:2017-04-03 12:55:42