指针变量

将取得的变量的地址传递给一个函数,然后通过这个函数访问这个变量

指针

就是保存取地址符所取得的地址的变量。例:

  1. int i;
  2. int* p=&i;//定义了一个名为p的指向int的指针
  3. int* p,q;
  4. int *p,q;
  5. //上面两行代码都表示定义了一个名为p的指针变量,和一个int型的变量q
  6. //*号可以靠近p,也可以靠近int,结果都一样

指针作为参数。例:

  1. void f(int *p)
  2. //在被调用的时候得到了某个变量的地址;
  3. int i=0;f(&i);
  4. //在函数里面可以通过这个指针访问外面的这个i;

访问地址上的变量*

*是一个单目运算符,用来访问指针的值所表示的地址上的变量

可以做右值也可以做左值

  1. int k=*p;
  2. *p=k+1;

指针的运算符&*

互相反作用

&yptr->(&yptr)->*(yptr的地址)->得到地址上的变量->yptr

&yptr->&(yptr)->&(y)->得到y的地址值->yptr