万物皆内存,内存有两个东西:地址、值。
普通变量、引用变量、指针变量,二级指针变量,数组,指针数组...等等,皆内存。
【指针】
int x = 10; //变量 int* pX = &x; //指针变量 int** ppX = &pX; //二级指针变量 //地址,值 std::cout << &x << "," << x << std::endl; std::cout << &pX << "," << pX << std::endl; std::cout << &ppX << "," << ppX << std::endl;
x、pX、ppX都是“值”。只不过有的“值”刚好是所指向内存的“地址”,所以课本上、网络上将pX、ppX说成“地址”。
良好的命名习惯,有助于指针的快速理解而不会晕头转向。一级指针p开头,二级指针pp开头,遇*则抵消,剩者为真身。
*pX→x,值 10
*ppX→pX,值 00000086ECBBF604
**ppX→x,值 10
【指针大小】
开篇图中,只有10是int型,占4字节。其他的“值”“地址”都是地址属性,64位系统中占8字节,32位系统中占4字节。
为了稳妥,可以用 long long承接地址。
【数组】
标签:变量,int,江湖,pX,c++,地址,ppX,指针 From: https://www.cnblogs.com/xixixing/p/17808664.html