c/c++指针基础使用

#include <iostream>
#include <string>

using namespace std;

int main()
{

    char *a="123";
    char *b="456";
    char *d="789";
    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 0;
}

1 指针我们平时使用都是“顺序使用”,将某个函数或者变量的地址付给指针值。这种使用到了二级指针时同样符合指针的特点,指针值变化的同时与其关联的变量的值也发生变化,但需要记住指针变量操作的都是变量本身,分析时别被‘*’困扰住。

2 本小例也演示了指针的”逆序使用“,关联的变量变化,指针也同样发生变化。

这种特点在c++中引用时同样适用。

原文地址:https://www.cnblogs.com/dongzhuangdian/p/5085312.html