学习C语言第六天

一.多维数组元素的地址

#include<stdio.h>

int main()
{    
    int arr[3][4] = {{11,22,33,44},{12,13,15,16},{22,66,77,88}};
    int i;
    int j;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            printf("add:0x%p,data:%d ",&arr[i][j],arr[i][j]);
            printf("add:0x%p,data:%d ",arr[i]+j,arr[i][j]);
        }
    }
    return 0;
}

二.二级指针

  认知考虑的时候,其实所有东西跟一级指针一样  写法 int **p

#include<stdio.h>

int main()
{    
    int data = 100;
    int *p = &data;
    printf("data的地址是:%p\n",&data);
    printf("p保存data的地址:%p,内容是%d\n",p,*p);
    
    
    int **p2;
    p2 = &p;
    printf("p2保存p的地址: %p \n",p2);
    printf("*p2是%p\n",*p2);
    printf("**p2来访问data:%d\n",**p2);
    
    return 0;
}

输出结果为:
data的地址是:000000000061FE14
p保存data的地址:000000000061FE14,内容是100
p2保存p的地址: 000000000061FE08
*p2是000000000061FE14
**p2来访问data:100

注意:二级指针不能简单粗暴指向二维数组

posted @ 2023-04-07 23:44  林奇老师  阅读(24)  评论(0)    收藏  举报