新聞中心
在C語言中,函數(shù)參數(shù)的傳輸主要通過以下兩種方式:

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站制作、鄂托克網(wǎng)絡(luò)推廣、小程序開發(fā)、鄂托克網(wǎng)絡(luò)營銷、鄂托克企業(yè)策劃、鄂托克品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供鄂托克建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
1、值傳遞(Pass by Value)
2、地址傳遞(Pass by Address)
1. 值傳遞(Pass by Value)
值傳遞是指將實際參數(shù)的值傳遞給形式參數(shù),在這種情況下,形式參數(shù)和實際參數(shù)占用不同的內(nèi)存空間,當函數(shù)被調(diào)用時,實際參數(shù)的值被復制到形式參數(shù)所在的內(nèi)存空間,函數(shù)內(nèi)部對形式參數(shù)的修改不會影響到實際參數(shù)。
示例代碼
#includevoid func(int a) { a = 10; } int main() { int x = 5; printf("Before calling func: x = %d ", x); func(x); printf("After calling func: x = %d ", x); return 0; }
輸出結(jié)果:
Before calling func: x = 5 After calling func: x = 5
從輸出結(jié)果可以看出,盡管在func函數(shù)內(nèi)部修改了形式參數(shù)a的值,但實際參數(shù)x的值并未受到影響。
2. 地址傳遞(Pass by Address)
地址傳遞是指將實際參數(shù)的地址傳遞給形式參數(shù),在這種情況下,形式參數(shù)和實際參數(shù)指向同一塊內(nèi)存空間,當函數(shù)被調(diào)用時,實際參數(shù)的地址被復制到形式參數(shù)所在的內(nèi)存空間,函數(shù)內(nèi)部對形式參數(shù)的修改會影響到實際參數(shù)。
示例代碼
#includevoid func(int *a) { *a = 10; } int main() { int x = 5; printf("Before calling func: x = %d ", x); func(&x); printf("After calling func: x = %d ", x); return 0; }
輸出結(jié)果:
Before calling func: x = 5 After calling func: x = 10
從輸出結(jié)果可以看出,在func函數(shù)內(nèi)部修改了形式參數(shù)a所指向的內(nèi)存空間的值,實際參數(shù)x的值也受到了影響。
本文標題:c語言中函數(shù)的參數(shù)怎么傳輸
本文URL:http://www.5511xx.com/article/cohcdhe.html


咨詢
建站咨詢
