#include <iostream>
#include <string> using namespace std; int main()
{ char *a="";
char *b="";
char *d="";
char **c=&a; cout<<static_cast<const void *>(a) <<endl<<static_cast<const void *>(*c)<<endl;
//cout<<a<<endl<<c<<endl; *c=b;
cout<<static_cast<const void *>(a) <<endl<<static_cast<const void *>(*c)<<endl;
//cout<<a<<endl<<c<<endl; a=d;
//cout<<a<<endl<<c<<endl;
cout<<static_cast<const void *>(a) <<endl<<static_cast<const void *>(*c)<<endl; return ;
}
1 指针我们平时使用都是“顺序使用”,将某个函数或者变量的地址付给指针值。这种使用到了二级指针时同样符合指针的特点,指针值变化的同时与其关联的变量的值也发生变化,但需要记住指针变量操作的都是变量本身,分析时别被‘*’困扰住。
2 本小例也演示了指针的”逆序使用“,关联的变量变化,指针也同样发生变化。
这种特点在c++中引用时同样适用。