1、概念不同
“指针”是概念,“指针变量”是具体实现,指针也是一个变量,所以需要进行定义,而对于指针的定义,与一般变量一样。
2、 存放地址不同
一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。
扩展资料:
指针和指针变量的关系
- 指针就是地址,地址就是指针。
- 地址就是内存单元的编号。
- 指针变量就是存放内存地址的变量。
- 指针和指针变量是两个不同的概念,但要注意的是,通常我们叙述时会把指针变量简称为指针,实际他们含义并不一样。
指针的好处:
- 直接访问硬件
- 快速传递数据(指针表示地址)
- 返回一个以上的值返回一个(数组或者结构体的指针)
- 表示复杂的数据结构(结构体)
- 方便处理字符串
- 指针有助于理解面向对象
具体的一些用法
取地址运算符 &
& 是一元运算符,返回操作数的内存地址。例如,如果 var 是一个整型变量,则 &var 是它的地址。该运算符与其他一元运算符具有相同的优先级,在运算时它是从右向左顺序进行的。
您可以把 & 运算符读作"取地址运算符",这意味着,&var 读作"var 的地址"。
间接寻址运算符 *
间接寻址运算符 *,它是 & 运算符的补充。* 是一元运算符,返回操作数所指定地址的变量的值。
a = 800
int *p = &a
*p = 600 // *用来获取指针指向的数据
//or
// 需要注意的是,给指针变量本身赋值时不能加*
int *p
p = &a //不能加*
*p = 600
// *p 代表的是 a 中的数据,它等价于 a