調(diào)用函數(shù)時(shí)實(shí)參與形參 形參不能改變實(shí)參,為什么在用指針傳遞數(shù)值的時(shí)候又可以改變呢?
形參不能改變實(shí)參,為什么在用指針傳遞數(shù)值的時(shí)候又可以改變呢?事實(shí)上,一個(gè)形式參數(shù)在傳遞一個(gè)實(shí)際參數(shù)給一個(gè)子函數(shù)時(shí)定義了一個(gè)新的變量,但是這個(gè)變量的值等于實(shí)際參數(shù)所以不管你在子函數(shù)中如何修改它,調(diào)用它的
形參不能改變實(shí)參,為什么在用指針傳遞數(shù)值的時(shí)候又可以改變呢?
事實(shí)上,一個(gè)形式參數(shù)在傳遞一個(gè)實(shí)際參數(shù)給一個(gè)子函數(shù)時(shí)定義了一個(gè)新的變量,但是這個(gè)變量的值等于實(shí)際參數(shù)
所以不管你在子函數(shù)中如何修改它,調(diào)用它的函數(shù)的實(shí)際參數(shù)的值將不受影響
當(dāng)使用指針作為參數(shù)時(shí),因?yàn)槲覀儌鬟f的不是值本身,而是相應(yīng)的地址。更改值時(shí),我們會(huì)更改該地址中的值,因此可以通過(guò)傳遞指針來(lái)更改值
如果要修改在子函數(shù)中調(diào)用它的函數(shù)的值,可以使用引用函數(shù)
例如
#include<stdio。H>
void fun(int&x)
x=x1
void Main()
{
int a=5
fun(a)
printf(%d,a)
}]是在參數(shù)前添加一個(gè)&