以前覺得這東西很深奧,不知道要拿來幹嘛的(因為很久以前只有上課聽過,沒在自己實驗XD)

最近終於練到這,總結書上跟看別人寫的指標的用途,還有我的使用心得:

補述:這裡的「指標」是指新手入門書中「指標」的章節講的東西

不是單純指「指標」,先進大大看不順眼的話,建議可以直接左轉喔 ^^"

 

1.

指標的概念跟陣列還有函數是湊一塊的,有指標的概念的話才能實現一些單純「傳值」時辦不到的功能

函數沒有指標的話,只能靠回傳(return)傳回「一個值」給main()

然後另外用一個變數來接這個結果

例如:

  int i;

  i=funciton ();

用i來接回傳值

 

有了指標的概念後,就可以直接在函數內對main() 裡設定的多個變數進行變動

實作上就是在函數內利用 *ptr去更改 main() 裡的變數的值

 

因為可以更改多個值,就可以拿來操作陣列(含有多個元素)

換句話說,只靠回傳值的話,一次頂多操作陣列中的一個元素

可是用了指標後,就可以一次處理整個陣列

 

2.

指標在實用上,似乎也是要處理陣列比較需要(使用經驗不多X_X)

目前看到比較多的是用在影像處理上

所以譬如處理圖片就會用到

例如點陣圖,每個點都是RGB三色,用0-255表示暗亮的程度

這時如果要把照片加黑的話,就把所有的點的數值都進行 *0.5 或是 -30 之類的的操作

這樣就變暗了

這時用指標配合函數,就能達成這個效果

 

arrow
arrow
    全站熱搜

    迷途工程師 發表在 痞客邦 留言(1) 人氣()