1. 程式人生 > >【好程式設計師筆記分享】—— C語言指標的理解

【好程式設計師筆記分享】—— C語言指標的理解

對於C語言中指標是非常重要的內容,也是C語言的魅力所在。下面我們來看一段程式碼理解指標:

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    //定義int型別的變數a
    int a = 10;
    
    //定義一個指標變數p
    int *p;
    
    printf("更改前的a=%d\n", a);
    
    //將a的地址賦值給指標變數p
    p = &a;
    
    //通過指標變數p間接修改變數a的值。(即通過指標變數p儲存的a的地址,找到指向的變數a的儲存空間並賦值)
    *p = 20;
    
    printf("更改後的a=%d\n", a);
    
    printf("*p=%d\n", *p);
    
    printf("*p=a=%d,可見*p和a指的都是相同的內容。\n", *p);
    
    return 0;
}

對於上面的程式碼關鍵要理解int * p;中的" *p"與下面的*p = 20;中的 “ *p ”是完全不同的。前一個是指標變數p的定義,並且是int型別的指標變數;後面一個是指標變數p儲存的地址所對應指向的儲存內容,相當於上面程式碼中的*p與a所指的內容是一樣的。

另外,對於上面程式碼中的兩行程式碼:

int *p;

p=&a;

我們常常將兩句精簡成一句:int *p=&a;

好了,今天就學這麼多,慢慢理解並吸收轉化為自己的知識才是最重要的。