更新時(shí)間:2020-09-18 來源:黑馬程序員 瀏覽量:
在程序中定義變量,系統(tǒng)會(huì)為變量在內(nèi)存中開辟內(nèi)存空間,用于存儲(chǔ)變量的值,每個(gè)變量在內(nèi)存中存儲(chǔ)的位置有唯一的編號(hào),編號(hào)就是變量的內(nèi)存地址。C語(yǔ)言支持通過取地址運(yùn)算符“&”獲得變量的地址,其語(yǔ)法格式如下:
&變量
下面通過一個(gè)案例演示取地址運(yùn)算符的使用,如例1所示。
例1 addr.c
#include <stdio.h> int main() { int a = 1; int* p = &a; //定義指向變量a的指針變量p,并取變量a的地址為其賦值 printf("變量a內(nèi)存地址:%p\n", &a); printf("指針變量p存儲(chǔ)的地址:%p\n",p); return 0; }
例1運(yùn)行結(jié)果如圖1所示。
圖1 例1運(yùn)行結(jié)果
在例1中,第4行代碼定義了一個(gè)int類型的變量a;第5行代碼定義了一個(gè)int*類型的指針變量p,通過取地址運(yùn)算“&a”將變量a的地址賦值給指針變量p。第6~7行代碼分別輸出&a與指針變量p的值,由圖5-5可知,&a的值與指針變量p的值是相同的。
除了取變量的地址為指針變量賦值外,同類型指針變量之間也可以進(jìn)行賦值。示例代碼如下:
int* p = &a; int* q = p;
猜你喜歡: