【好程式設計師筆記分享】—— C語言指標的理解
阿新 • • 發佈:2019-02-13
對於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;
好了,今天就學這麼多,慢慢理解並吸收轉化為自己的知識才是最重要的。