三句話理解C指針

三句話理解C指針

1. 每個變量都有一個內存位置

變量內容和內存位置的區別相似「你家」和「你家門牌號」。每個內存位置都定義了可以使用連字號(&)運算符訪問的地址,它表示了在內存中的一個地址。所以&也叫取地址符。指針

int  var = 20;   /* 實際變量的聲明(定義了變量內容) */

//Content of var variable: 20
printf("Content of var variable: %d\n", var  );
//Address of var variable: 0x7ffeed879958
printf("Address of var variable: %p\n", &var );

2. 指針是一個變量,其值爲另外一個變量的地址,即內存位置的直接地址。

int  var = 20;   /* 實際變量的聲明 */
int  *ip;        /* 指針變量的聲明 */

ip = &var;  /* 在指針變量中存儲 var 的地址 */
    
/* 在指針變量中存儲的地址 */
//Address stored in ip variable: 0x7ffee12c4958
printf("Address stored in ip variable: %p\n", ip );

3. & 和 互爲逆運算。&獲取到一個普通變量的地址,ip則從一個地址獲取普通變量的值。

int  var = 20;   /* 實際變量的聲明 */
int  *ip;        /* 指針變量的聲明 */

ip = &var;  /* 在指針變量中存儲 var 的地址 */

/* 在指針變量中存儲的地址 */
// Value of &var variable:: 0x7ffeee04a958
printf("Value of &var variable:: %p\n", &var);
/* 使用指針訪問值 */
// Value of *ip variable: 20
printf("Value of *ip variable: %d\n", *ip );
相關文章
相關標籤/搜索