以前覺得這東西很深奧,不知道要拿來幹嘛的(因為很久以前只有上課聽過,沒在自己實驗XD)
最近終於練到這,總結書上跟看別人寫的指標的用途,還有我的使用心得:
補述:這裡的「指標」是指新手入門書中「指標」的章節講的東西
不是單純指「指標」,先進大大看不順眼的話,建議可以直接左轉喔 ^^"
1.
指標的概念跟陣列還有函數是湊一塊的,有指標的概念的話才能實現一些單純「傳值」時辦不到的功能
函數沒有指標的話,只能靠回傳(return)傳回「一個值」給main()
然後另外用一個變數來接這個結果
例如:
int i;
i=funciton ();
用i來接回傳值
有了指標的概念後,就可以直接在函數內對main() 裡設定的多個變數進行變動
實作上就是在函數內利用 *ptr去更改 main() 裡的變數的值
因為可以更改多個值,就可以拿來操作陣列(含有多個元素)
換句話說,只靠回傳值的話,一次頂多操作陣列中的一個元素
可是用了指標後,就可以一次處理整個陣列
2.
指標在實用上,似乎也是要處理陣列比較需要(使用經驗不多X_X)
目前看到比較多的是用在影像處理上
所以譬如處理圖片就會用到
例如點陣圖,每個點都是RGB三色,用0-255表示暗亮的程度
這時如果要把照片加黑的話,就把所有的點的數值都進行 *0.5 或是 -30 之類的的操作
這樣就變暗了
這時用指標配合函數,就能達成這個效果
全站熱搜
留言列表