結構體引數的傳遞以及如何修改指標引數的值

cnbragon發表於2010-09-12

1. 我們在看程式碼的時候,會注意到,如果函式的引數需要結構體的時候,一般是傳遞結構體指標,而不是傳遞結構體,這一點在Windows API中幾乎都是如此,凡是用到結構體的地方,都是用它的指標來做引數的,這是什麼原因呢?最近發現,如果直接傳結構體,編譯器會把結構體的各個成員都一一壓棧,而如果傳遞的是結構體指標的話,則只壓一個結構體的指標就可以了,大為簡潔

 

2. 有這樣一個函式

問,在這個函式執行完,返回之後,p的值會被改變嗎?

答案是否,因為我們傳遞指標的目的是為了修改指標指向的地址的值,而不是指標的值,

那麼,如果想在函式里修改指標的值該怎麼做?對了,只要把指向指標的指標傳進來就可以了

如下

相關文章