指针 和 指针变量 和 运算符 & 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

 

你可能感兴趣的:(指针,指针)