指針 和 指針變量 和 運算符 & and *

1、概念不同

“指針”是概念,“指針變量”是具體實現,指針也是一個變量,所以需要進行定義,而對於指針的定義,與一般變量一樣。

2、 存放地址不同

一個變量的(內存)地址稱爲該變量的“指針”,通過指針能找到以它爲地址的內存單元。而指針變量是用來存放另一個變量的地址的(即指針)。

擴展資料:
指針和指針變量的關係

  1. 指針就是地址,地址就是指針。
  2. 地址就是內存單元的編號。
  3. 指針變量就是存放內存地址的變量。
  4. 指針和指針變量是兩個不同的概念,但要注意的是,通常我們敘述時會把指針變量簡稱爲指針,實際他們含義並不一樣。

指針的好處:

  1. 直接訪問硬件
  2. 快速傳遞數據(指針表示地址)
  3. 返回一個以上的值返回一個(數組或者結構體的指針)
  4. 表示複雜的數據結構(結構體)
  5. 方便處理字符串
  6. 指針有助於理解面向對象

 

具體的一些用法

取地址運算符 &

& 是一元運算符,返回操作數的內存地址。例如,如果 var 是一個整型變量,則 &var 是它的地址。該運算符與其他一元運算符具有相同的優先級,在運算時它是從右向左順序進行的。

您可以把 & 運算符讀作"取地址運算符",這意味着,&var 讀作"var 的地址"。

間接尋址運算符 *

間接尋址運算符 *,它是 & 運算符的補充。* 是一元運算符,返回操作數所指定地址的變量的值。

 

a = 800


int *p = &a
*p = 600  // *用來獲取指針指向的數據

//or

// 需要注意的是,給指針變量本身賦值時不能加*
int *p
p = &a  //不能加*
*p = 600 

// *p 代表的是 a 中的數據,它等價於 a

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章