Re: 請問指標的問題~~

看板Programming作者 (windf4)時間18年前 (2007/05/09 07:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《avhacker (我想把整片天空打開)》之銘言: : ※ 引述《junshung@kkcity.com.tw (... (b) pic)》之銘言: : : 請問各位程式高手 , 書上歸類三種有關指標的const : : 看完仍似懂非懂 @@" : : (我還很弱 ^^") : : 1 指向常數指標 : 指標指向一個常數(不能修改的值) 不能透過指標修改所指對象(物件)的值, 但是指標本身為"非常數", 所以可以改變所指對象[ 也就是指標本身的值 ]. 雖然名為指向常數指標, 但是對象也可以不是常數: int num = 0; const int *ptr_a = 0; ptr_a = # // 修改指標值 ok num = 2; // 直接改物件值 ok *ptr_a = 3; // 經指標改值 error : : 2 常數指標 : 指標本身是個常數,就是說指標本身不會變,因此不會改變所指之處. 指向非常數物件的常數指標: 指標本身是個常數, 不會改變所指對象, 但是可以透過指標 來修改對象的值. int num = 0; int *const ptr_b = # *ptr_b = 2; // 經指標改值 ok ptr_b = 0; // 修改指標值 error : : 3 指向常數的常數指標 : 上面兩項加在一起就是這個了. const int num; const int *const ptr_c = # 不論是指標本身或是所指對象的值都不允許更動. : : 尤其是1跟2 有點搞混 希望各位大大能給些例子說明它們的不同 : : 謝謝 小補充一下例子和額外的一點說明. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.68.25
文章代碼(AID): #16GNxK1d (Programming)
文章代碼(AID): #16GNxK1d (Programming)