关于指针修改变量的一点点理解如下:

    1. #include <stdio.h>
    2. int main() {
    3. int a = 1;
    4. int const b = 2;
    5. int *p_int = &a;
    6. printf("a = %d\n", *p_int);
    7. p_int = (int *)&b;
    8. *p_int = 3;
    9. printf("b = %d\n", b);
    10. return 0;
    11. }

    指针理解:

    1. 定义指针,也就是要指针通过哪个地址(去修改目标)就是相当于要通过的哪家中介,

    int p_int = &a;
    这里,int 是指针的类型,
    p_int 是指针的表达形式,=&a; 就是 要通过a这个地址,(相当于中介)去修改 目标

    1. p_int = (int *)&b;

    这里,p_int 就是指针 int 是 指针类型为 int 的值,&b 是指针要修改的目标地址,整句意思就是这个P-int指针要将int这个值 装到 &b这个地址里面去,

    1. *p_int = 3;

    这里,p_int就是那个指针,现在有了中介,有了目标,就要确定一个值,通过中介传到目标地址里面去,这里*p_int=3就是p_int这个指针的数据为 3 要把 3 通过地址 &a 传到地址 &b 里面去放着。
    所以结果 b = 3.
    bb781ee1e74da986b349f16bd603903.png