c語言引數出現在兩個地方–函式定義處、函式呼叫處。
函式定義處的引數是形式引數,只用在函式呼叫時才分配記憶體,函式呼叫完成後釋放記憶體,簡稱形參。
函式呼叫處的引數是實際引數,可以是常量、變數、位址(指標、陣列)等。在函式呼叫時實參把值單向傳遞給形參,形參參與運算,實參本身不參與運算。
在被調函式中,若只是改變形參的值,函式呼叫完成後形參被釋放,這時不會改變實參的值。
在被調函式中,若通過形參指標改變指標指向變數的值時,實參的值會被修改。
實參a的值在函式呼叫前後並未改變,在函式呼叫過程中改變了。
實參b的值在函式呼叫過程中改變了指標指向變數的值,實參b的值確實被改變了。
所以,在函式呼叫過程中,使用指標可以改變實參。
至於為什麼第二個printf時b的值為0,我猜測是預讀? 有大佬知道請不吝賜教。
關於C語言形參和實參
1,對於剛接觸c語言的人對於形參和實參的理解可能不是那麼詳細,或者說很是模糊,但大體來說形參和實參的區別在於 形參只能是變數,而實參可以使變數,常量,也可以是表示式,關於變數,顧名思義,是乙個可變的量,我們通過乙個函式來理解 void add int a,int b 這裡a,b就是形參,只能是變數 ...
C語言函式 形參和實參
形參 也叫形式引數 在定義函式名和函式體的時候使用的引數,他沒有資料,可以看做乙個佔位符,只能等到函式被呼叫時接收傳遞進來的資料,所以稱為形式引數 實參 也叫實際引數 在呼叫時傳遞給函式的引數,即傳遞給被呼叫函式的值,會被被呼叫函式內部使用,所以稱為實際引數 形參和實參的區別 1 形參變數在函式未被...
c 實參和形參
c c 中的實參和形參 今天突然看到一道關於形參和實參的題,我居然不求甚解。藐視過去在我的腦海裡只有乙個引數的概念,對於形參和實參的區別還真的不知道,作為學習了幾年c 的人來說,真的深深感覺對不起自己對不起c 老師 t。t 我覺得只要明白了值傳遞和位址傳遞,就應該能明白形參和實參的具體工作細節了。1...