1、概念不同
“指針”是概念,“指針變量”是具體實現,指針也是一個變量,所以需要進行定義,而對於指針的定義,與一般變量一樣。
2、 存放地址不同
一個變量的(內存)地址稱爲該變量的“指針”,通過指針能找到以它爲地址的內存單元。而指針變量是用來存放另一個變量的地址的(即指針)。
擴展資料:
指針和指針變量的關係
- 指針就是地址,地址就是指針。
- 地址就是內存單元的編號。
- 指針變量就是存放內存地址的變量。
- 指針和指針變量是兩個不同的概念,但要注意的是,通常我們敘述時會把指針變量簡稱爲指針,實際他們含義並不一樣。
指針的好處:
- 直接訪問硬件
- 快速傳遞數據(指針表示地址)
- 返回一個以上的值返回一個(數組或者結構體的指針)
- 表示複雜的數據結構(結構體)
- 方便處理字符串
- 指針有助於理解面向對象
具體的一些用法
取地址運算符 &
& 是一元運算符,返回操作數的內存地址。例如,如果 var 是一個整型變量,則 &var 是它的地址。該運算符與其他一元運算符具有相同的優先級,在運算時它是從右向左順序進行的。
您可以把 & 運算符讀作"取地址運算符",這意味着,&var 讀作"var 的地址"。
間接尋址運算符 *
間接尋址運算符 *,它是 & 運算符的補充。* 是一元運算符,返回操作數所指定地址的變量的值。
a = 800
int *p = &a
*p = 600 // *用來獲取指針指向的數據
//or
// 需要注意的是,給指針變量本身賦值時不能加*
int *p
p = &a //不能加*
*p = 600
// *p 代表的是 a 中的數據,它等價於 a