Cconst型指標變數做形參實參變數的問題

時間 2021-09-05 11:58:53

1樓:匿名使用者

第四點的const你理解為,作為引數的指標不可以被改變即可,因為要是被呼叫的函式隨便改了,豈不是出問題了,所以這個引數形式是const型的,而你呼叫是,隨便傳,比如函式顯示textbox的值,你可以把textbox1的指標傳給他,也可以把textbox2的指標傳參,這2個textbox不就是實參嘛,而函式定義的,就是const的形參

2樓:匿名使用者

你這裡const型的指標變數是指:常指標,還是 指向常物件的指標變數?

應該是指:指向常物件的指標變數

這樣的話,應該是如下的情況:

1、允許形參和實參都是const型的指標變數2、允許形參和實參都是非const型的指標變數3、允許形參是const型指標變數,而實參是非const型指標變數4、不允許形參是非const型的指標變數,而實參是const型的指標變數。(原因在於指向非const型變數的指標變數只能指向非const的物件)

你的3、4的情況是一樣的,是不是打錯了?

3樓:匿名使用者

4、允許形參是const型的指標變數,而實參是非const型的指標變數。

const型的指標變數所指向的地址沒有變,

指標不關心它所指向的記憶體地址塊中存的是什麼,它只關心記憶體地址 。

4樓:

如果函式帶有指向const型別的指標-- 那麼這種函式可以接收const型別的實參或者非const型別的實參,並且不能改變指標變數所指向變數的值,也就是不可以對實參內容作出更改. 。

5樓:匿名使用者

第四條的翻譯函式為:void fun(int * const a);const修飾的指標變數a,表示a是const型的,意思是在函式體中,a的值(注意a是個指標)是不可以改變的。如果你在函式體中改變a的值,例如int temp=9;a=&temp;這樣的操作是編譯出錯的。

但是至於你給a傳遞什麼引數就無所謂了,不管是const型別的指標,或是非const型別的指標,都無所謂。它約束的只是在函式體內部的形參臨時變數。

vc 指標變數賦值問題,指標變數賦值方式

雖然b是正確答案,但是對cd的理解不對。a,p是對地址為p的記憶體賦值,因為p還未賦值,這種行為是危險的b,陣列的首址可理解為一個常量指標 即指向的地址不能改變的針 雖然指標不能被修改,但是其指向的地址的內容是可以改的。c。a是常量,其地址不能被修改 d。錯誤在於對引用a的初始化,應該使用相同型別 ...

指標變數指向的變數的值變了,指標變數會不會變

a還是指向p1,b還是指向p2啊 只不過p1和p2的值互轉了 你說的情況可以這樣寫 int t a a b b t 這樣的話a指向p2,b指向p1,但是p1和p2的值還是原先的值不過不建議這樣寫 a和 b的值互換,也就是p1和p2的值互換,注意是 值 的互換,不是變數名 不會變指標變數中存的是地址,...

指標和變數

寫在函式定義裡的引數叫形參。寫在函式呼叫裡的引數叫實參。實參能把實參當時的數值傳到函式計算定義塊裡。但不一定能把函式塊裡的資料加工結果帶回來。函式運算結果要帶 用函式的地方,有幾種辦法 1 全域性量。2 函式返回值。3 通過實參帶回。想用實參帶回,c語言規定,凡要通過實參帶回的量,它對應的形參必須宣...