如何利用指標來做swap功能,
要直接去處理指標所指的位址的內容值,
這樣就不必傳回傳值了。
記得一定要傳address去給function,
swap(&Array[i], &Array[j]);
如果只是傳值去,那會沒用的,因為改一改,
function結束後,function內宣告的變數也會不見,
所以要傳address過去。
而function的參數宣告也要用指標的方式來宣告,
代表我要接收傳來的address。
void swap(int *a, int *b)
宣告一個普通的int變數來做暫存值。
int tmp;
用*來取值,把a的值先寄放在tmp內,
然後把b的值放去a的位置,
再把tmp內的值放在b的位置內。
tmp = *a;
*a = *b;
*b = tmp;
這樣a所指的address內容值就可以替換成b,
b也替換成a。
SourceCode
沒有留言:
張貼留言