指標的那點事兒
阿新 • • 發佈:2022-03-03
要先理解指標,我們需要了解變數在C語言中是如何儲存的。
比如:我們申請一個變數int value;
C語言會在你的記憶體中找到一個位置(這個位置可以用16進位制的數表示)然後佔用幾個位元組,例如整型變數佔用了4個位元組,於是就在該地址之後佔用四個數。這裡我們假設value變數的地址為000000000262FE12
,佔用四個位元組後地址為000000000262FE16
。
我們假設一個場景:有許多許多的盒子,每個盒子上都有編號,盒子裡面放著變數。盒子上的編號便是地址。我們可以設這個編號也是一個變數,該變數便是指標變數,指標變數的值對應的是一個變數的地址。
假設我們定義一個指標p。
經常使用的符號有三個:*、&、**
用printf函式檢視地址 int a; printf("%p",&a)
其中&用於傳遞變數地址:
int a=1,*b,c
b=&a
如果c=&b
會報錯,因為地址只能傳給指標變數,不能傳給普通的變數