在C語(yǔ)言中,形參和實(shí)參的傳遞是通過(guò)函數(shù)調(diào)用來(lái)實(shí)現(xiàn)的。在調(diào)用函數(shù)時(shí),需要提供實(shí)參(也稱為實(shí)際參數(shù)),這些實(shí)參的值會(huì)被傳遞給函數(shù)的形參(也稱為形式參數(shù))。
一般來(lái)說(shuō),有以下兩種方式來(lái)傳遞實(shí)參給形參:
示例代碼:
#include <stdio.h>
void changeValue(int x) {
x = 10; // 修改形參的值
}
int main() {
int num = 5; // 實(shí)參的值
changeValue(num); // 傳遞實(shí)參給形參
printf("num = %d\n", num); // 輸出實(shí)參的值,仍然為 5
return 0;
}
示例代碼:
#include <stdio.h>
void changeValue(int *x) {
*x = 10; // 通過(guò)指針修改實(shí)參的值
}
int main() {
int num = 5; // 實(shí)參的值
changeValue(&num); // 傳遞實(shí)參的地址給形參
printf("num = %d\n", num); // 輸出實(shí)參的值,被修改為 10
return 0;
}
需要注意的是,指針變量作為形參時(shí),可以使用地址傳遞來(lái)修改實(shí)參的值。而對(duì)于其他非指針類型的變量,只能通過(guò)值傳遞來(lái)傳遞實(shí)參給形參。