有关指针的二三事-新手村踩坑有感

因为大一比较摸鱼,导致大二的数据结构与c++课程中指针有些难以理解,于是花了一晚上简单的过了一遍,顺带解决了一些问题。

指针的定义

//这四种定义格式都是可行的,区别在于强调什么特征
int * x_pointer; //无强调
int*x_pointer; //不解释,我觉得这样写很难受
int *x_pointer; //可以说是强调定义了一个int类型的 *x_pointer变量
int* x_pointer; //强调定义了一个指向int的名称为x_pointer的指针

踩坑1:

int x = 10;
int *x_p = &x;

第二行的赋值其实是 x_p = &x;

并不是我最开始理解的*x_p = &x;

x_p存放的是一个地址;

踩坑2:地址的地址

{    
    int a = 100;
    int *b = &a;
    int **c = &b; 
        /*这句话可以拆开成
        int **c;
        c = &b; */
    cout << b << endl << *b <<endl << c << endl << *c << **c;

}    

所以说,c存放的是b的地址,然后*c存放的是c地址的地址,地址的地址和上一级的地址是不一样的

就这样

posted @ 2020-03-29 12:49  Shinonome  阅读(36)  评论(0)    收藏  举报