C语言学习---星花与取地址&----以及多级指针

#include<stdio.h>

int main
{
    //对一个表达式加* , 就会对表达式减一级星花*, 
    //如果对表达式取&, 就会加一级*
    
    
    int* p;
    int** q;
    
    q = &p //这个等式是成立的,因为q是**类型看, p是*类型, 加上&, 就变成了**。(如果对表达式取*, 就会加一个*)
    
    *q = p//这个表达式也是成立的, q本来是**类型,现在加上*, 就会对表示式减少一级*, 就变成了*类型, 所以*q = p的
    
    
}

 

 

#include<stdio.h>

int main()
{
    int a = 10;

    int* p = &a;

    //定义一个指针保存p的地址,指针变量的地址

    int** q = &p;

    //通过q把a的值取出来
    printf("**q is %d\n",**q);// *q表示把q里面的内容取出来,当做地址看到, 并找到改地址的空间里面的内容,即找到了&a,*(*q)== *(&a)表示找到a地址空间里面的内容,就是10

    return 0;





}

 

 

 

 

 

 

 

 

 

 

#include<stdio.h>

int main()
{
    int a = 10;

    int* p = &a;

    //定义一个指针保存p的地址,指针变量的地址

    int** q = &p;

    //通过q把a的值取出来
    printf("**q is %d\n",**q);// *q表示把q里面的内容取出来,当做地址看到, 并找到改地址的空间里面的内容,即找到了&a,*(*q)== *(&a)表示找到a地址空间里面的内容,就是10


    //定义一个地址变量, 报错q的地址
    int*** k = &q;//每取一次地址就多加一个*

    printf("***k is %d \n",***k);


    return 0;





}

*符号结合, 代表这个k是一个指针变量
k是一个变量
k的类型:将变量k拖黑(选中), 剩下的就是表示变量k的类型
k用来保存谁的地址, 将变量k和k最近的*一起拖黑选中,剩下的是什么类型, 就表示k保存的是什么类型数据的地址

 

posted @ 2022-11-06 20:57  朵朵奇fa  阅读(178)  评论(0)    收藏  举报