1.指向指针的指针
指针是内存中的对象,允许吧指针的地址再存放到另一个指针中,这里我们通过*个数区分指针的级别
#include <iostream>
using namespace std;
/**
* 指向指针的指针
*
* 指针是内存中的对象,允许吧指针的地址再存放到另一个指针中,这里我们通过*个数区分指针的级别
*/
int main() {
int iVal = 1;
int *p = &iVal;
int **pp = &p;
std::cout << "变量 iVal 本身地址:&iVal = " << &iVal << ", iVal 值 = " << iVal << std::endl;
std::cout << "指针 p 本身地址:&p = " << &p << ", 指针 p 指向的新地址 &iVal = " << &iVal << ", 指针 p 地址对应值 *p = " << *p << std::endl;
std::cout << "指针 pp 本身地址:&pp = " << &pp << ", 指针 pp 指向的新地址 &p = " << &p << ", 一级指针 pp 地址对应值 *pp = " << *pp << ", 二级指针 pp 地址对应值 **pp = " << **pp << std::endl;
return 0;
}
运行结果
- 变量 iVal 本身地址:&iVal = 0x28ff44, iVal 值 = 1
- 指针 p 本身地址:&p = 0x28ff40, 指针 p 指向的新地址 &iVal = 0x28ff44, 指针 p 地址对应值 *p = 1
- 指针 pp 本身地址:&pp = 0x28ff3c, 指针 pp 指向的新地址 &p = 0x28ff40, 一级指针 pp 地址对应值 *pp = 0x28ff44, 二级指针 pp 地址对应值 **pp = 1