王卓數(shù)據(jù)結構 ---類C語言有關操作補充2
傳值方式
把實參的值傳送給函數(shù)局部工作區(qū)的副本中,函數(shù)使用這個副本執(zhí)行必要的功能。
函數(shù)修改的是副本的值,實參的值不變。

例如:
a=3,b=5
把值傳遞給m和n
m=3,n=5
m和n交換
m=5,n=3
被調用函數(shù)執(zhí)行完畢m和n被釋放,a和b沒有任何變化。
傳地址方式--指針變量作參數(shù)
形參變化影響實參


調用函數(shù),將p1和p2作為參數(shù)進行傳遞,傳遞給兩個指針變量。p1的傳遞給m,p2的值傳遞給n。*m是指m指針所指的變量的內容,也就是a的值。*n是指n指針所指的變量的內容,也就是b的值。交換a和b的值,a變成5,b變成3。執(zhí)行完畢,m和n釋放,返回到調用的地方。a和b的值發(fā)生了變化。

形參變化不想影響實參

注:臨時變量變成指針變量*t,并且賦值不是*m,不是賦值的它所指向的值,而是賦值了他自己本身。

a=3,b=5,p1指向a,p2指向b。
m指向a,n指向b。
指針變量*t存放的m的值,也就是a的地址。
交換了m和n
m指向了b,n指向了a。
m和n被釋放,對a和b的值沒有任何影響。
傳地址方式---數(shù)組名做參數(shù)
傳遞的是數(shù)組的首地址
對形參數(shù)組 所作的任何改變都將反映到實參數(shù)組中

傳遞數(shù)組名就是傳遞數(shù)組的首地址:sub(a);
b【】也可以寫成*b
例子:

傳地址方式---引用類型做參數(shù)

定義了一個整型變量i,定義了一個整型變量j,j引用的是i,所以j是引用型變量,并且操作i和j是一模一樣的。也可以理解為j和i的地址是一樣的,共用的是同一片空間。


引用類型作形參的三點說明

引用型在后面用的比較多!??!
標簽: