閱讀374 返回首頁    go 京東網上商城


函數中的形式參數和實際參數

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

  上一篇:go Android示例HelloGallery中R.styleable unresolved的解決辦法
  下一篇:go android:layout_weight屬性詳解