C語言指針專題——爲什麼要學習指針

歡迎轉發本文!編程

以前的文章與各位談論了指針是什麼,以及指針爲什麼這那麼難學。很多知友留言說看了個人文章對指針瞭解了很多,這給我繼續創做提供了莫大的動力啊。指針其實就是一個紙老虎,你看着可怕,等你瞭解其本質後,你會對其不屑的。

這一篇來聊聊爲何要用指針,或者說,在什麼場景下必需要用指針,也就是給咱們一個學習指針的理由,不然爲什麼要去學指針,那不神經病嘛。本文列舉了兩個須要用到指針的場景,知友們能夠留言繼續補充。數組

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;
}

代碼中,定義了兩個int變量,要在change函數中實現二者的值的交換,若是不考慮指針的話,有什麼辦法能作到嗎?

也許還有其它的不少例子能夠用來講明使用指針的必要性,結合上述兩個例子來看,在程序中,有時候咱們必需要操做內存,此時使用指針就是最好的選擇。code

明白了使用指針的必要性,咱們纔有理由學習指針,而且學好它。blog

歡迎關注個人微博與微信號:C語言編程技術分享排序

相關文章
相關標籤/搜索