指针数组

/*
 二维指针数组
 与一维指针数组是一样的,本质上是数组,每个元素地址
 */

#include <iostream>
using namespace std;

int main() {
    int a=1,b=2,c=3,d=4;
    int *p[2][2] = {&a,&b,&c,&d}; //每个元素都是地址
    
    cout<<c<<endl;
    cout<<&c<<endl;
    cout<<p[1][0]<<endl; //获取下标为[1][0]的值
    cout<<*p[1][0]<<endl; //因为这个值是一个地址,*+地址,操作地址所对应空间的值
    cout<<endl;
    /*
     输出:
     3
     0x7ff7bfeff2c0
     0x7ff7bfeff2c0
     3
     */
    
    *p[1][0] = 100; //通过操作地址对应空间修改c的值
    cout<<c<<endl;
    cout<<endl;
    /*
     输出:
     100
     */
    
    return 0;
}