C指標問題

2022-08-13 07:30:11 字數 645 閱讀 8601

多級c指標傳值問題

直接上**:  

int func(..., char **ppt)

//返回malloc位址給主程式

ppt = &pt;//即可

}

不知道當時到底怎麼了,沒想清楚,應該是沒有正確理解題意。

c中給函式傳值的方式都是值傳遞(一般意義上的值傳遞,另外還有位址的傳遞,都是值傳遞),所以什麼時候用指標傳遞是我們必須弄清楚的。

比如:希望改變int a,a變數的內容,那麼你直接傳變數是不行的,你傳給函式後,函式形參只會複製值,對你傳遞的a毫無影響,所以這個時候就要傳a的位址,通過位址訪問到a的值,進而修改他。

再說:有這樣乙個誤導,以為像改變變數的值只需要傳遞指標就可以了,這樣的想法是不正確的。比如我們希望在函式中申請一塊記憶體區域,並返回這塊記憶體區域的首位址。你傳遞乙個int * pt給函式,在函式中malloc後的位址賦值給函式形參int * fpt,這是乙個位址值間的傳遞,fpt操作與你傳遞給函式的pt沒有一毛錢關係,所以位址值根本沒有傳遞出來。這個時候我們在函式裡面獲取的是malloc的返回的位址值,是乙個指標,如果這個時候形參是指標型別,那麼形參在函式中的操作都是同級別型別操作,不能傳遞。

C 的指標問題。

最近幾天我們學習到了指標,還算可以,學生在此複習一下,如果有地方錯誤或不健全還請各位友友們給個提示,學生在此謝謝各位友友 指標就是存放位址值的變數或者常量。首先學生複習一下指標的一些符號 int a 1 a就表示指標常量,為取位址符,也可以說是引用。int b中,指標型別為int b表示的是指標變數...

C 總結 指標問題

函式指標 乙個函式在編譯時被分配乙個入口位址,將這個入口位址稱為函式的指標,可 以用乙個指標變數指向該函式指標,然後通過該變數來呼叫函式。有關說明 1 函式指標的宣告格式 函式返回值型別 指標變數名 引數型別列表 或者是 typedef 函式返回值型別 指標變數名 引數型別列表 2 乙個函式指標只能...

C 指標釋放問題

今天看到了乙個問題,其實在專案中也經常遇到指標釋放的問題,先看看乙個簡單的指標釋放的問題 問題如下 1 一般在c 類中有成員指標的話,會在類的析構函式裡釋放 delete 這個指標?2 基於 1 如果傳給這個成員指標不是乙個堆分配的指標,那類發生析構會發生錯誤,這個怎麼解決?如下 class a 1...