int swap(int a,int b)
{
int temp;
temp = a;
a = b;
b = temp;
return 0;
}
int a = 10,b = 20;
printf("Before Swap a = %d, b = %d\n",a,b);
swap(a,b);
printf("After Swap a= %d,b = %d\n",a,b);
參數是采用值傳遞的形式,存在形參與實參的區別,也就是將實參的值復制給形參,在函數內部操作的都只是形參的內容,並不改變實參的值,所以變量在操作過後並沒有發生改變。
參數傳遞過程中存在兩個規則:
1、通過引用將參數復制到局部作用域的對象中,意味著被用來訪問函數參數的變量於提高給函數的對象無關,因為存在壹個復制問題,這和C語言是相同的。而且修改局部對象不會改變原始數據。
2、可以在適當位置修改可變對象。可變對象主要就是列表和字典,這個適當位置實質上就是前面分析的局部子對象的修改不會改變字典對象或者列表對象的ID位置。