歡迎轉發本文!編程
以前的文章與各位談論了指針是什麼,以及指針爲什麼這那麼難學。很多知友留言說看了個人文章對指針瞭解了很多,這給我繼續創做提供了莫大的動力啊。指針其實就是一個紙老虎,你看着可怕,等你瞭解其本質後,你會對其不屑的。這一篇來聊聊爲何要用指針,或者說,在什麼場景下必需要用指針,也就是給咱們一個學習指針的理由,不然爲什麼要去學指針,那不神經病嘛。本文列舉了兩個須要用到指針的場景,知友們能夠留言繼續補充。數組
1. 數組處理微信
數組處理是最須要用到指針的,其中一個場景的程序代碼以下:函數
#include "stdio.h" sort(參數) { //代碼實現 } int main(void) { int number[5] = {1,2,3,4,5}; printf("數組元素原來的順序是:\n"); for(int index = 0; index < 5; index++) { printf("%d ", number[index]); } sort(參數);//給數組排序,數組元素由大到小 printf("數組元素排序後的順序是:\n"); for(int index = 0; index < 5; index++) { printf("%d ", number[index]); } return 0; }
代碼很簡單,想在函數sort中實現對數組元素由大到小的排序。那麼若是你不想給sort函數傳遞指針的話,那你給函數sort傳遞什麼參數呢?學習
2. 兩值交換spa
兩值交換在各大考試中是考的最多的了,好比以下程序:指針
#include "stdio.h" change(參數) { //代碼實現 } int main(void) { int para1 = 1; int para2 = 2; change(參數);//在change函數中實現para1和para2的值交換 printf("交換值後,para1的值是%d, para2的值是%d\n", para1, para2); return 0; }
也許還有其它的不少例子能夠用來講明使用指針的必要性,結合上述兩個例子來看,在程序中,有時候咱們必需要操做內存,此時使用指針就是最好的選擇。code
明白了使用指針的必要性,咱們纔有理由學習指針,而且學好它。blog
歡迎關注個人微博與微信號:C語言編程技術分享排序