1. 程式人生 > >C語言有參函式呼叫時引數間資料傳遞問題

C語言有參函式呼叫時引數間資料傳遞問題

指標變數作實參在呼叫時仍然符合前述“值傳遞”規則,將其“值”賦給形參,相當於複製。此時資料在實參與形參間傳遞仍是單向的,呼叫函式不會影響實參的“值”(即指標變數中所存地址)。而與簡單變數不同的是指標變數複製給形參的“值”本身是一個地址,這個地址為形參訪問其所指變數創造了可靠條件。我的理解是,實參是一個抽屜的鑰匙,在傳參時,實參複製了一把鑰匙傳給形參。而被調函式拿到鑰匙副本後,進行的操作可以分為兩類:1、對鑰匙本身做了一些操作(對指標本身進行操作);2、通過鑰匙對抽屜裡的內容進行了一些操作( 對指標所指的變數進行操作);兩種操作都不可能影響實參的值(即鑰匙原本),卻有可能改變實參所指向變數的值(即抽屜裡的內容)。