学习C语言的第23天

文章详细解释了C语言中的一级指针、二级指针和三级指针的概念,以及如何通过指针数组和偏移量访问多维数组元素。实例展示了指针运算在访问复杂数据结构时的应用。
摘要由CSDN通过智能技术生成

多级指针

二级指针就是指向一个一级指针变量地址的指针

int a=10;
int*p=&a;\\一级指针
   *p=100\\*p就是a
    
int**q=&p;\\二级指针
\\*q就是p
 \\**就是a (*p)
    
  int***t&q;\\三级指针
   \\*t就是 q
    \\**t就是p
      \\***t就是a
#include<stdio.h>
int main()
{
    int a={1,2,3};
    int b={4,5,6};
    int c={7,8,9};
    int*arr[]={a,b,c};
    \\指针数组和二级指针建立关系
     int**p=arr;
    printf("%d\n",**p);\\arr[0][0]
    \\二级指针加一个偏移量  相当于跳过了一个一维数组的大小
       printf("%d\n",**(p+1));\\arr[1][0]
        printf("%d\n",*(*(p+1)+1));
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
          printf("%d\n",*(*(p+i)+j));
           \\ printf("%d\n",*(*p[i]+j));
        }
    }
    put("");
}
输出结果:
    1
    4
    5
    123
    456
    789
#include<stdio.h>
int main()
{
    int a=10;
    int b=20;
    int *p=&a;
    int**q=&p;
    \\*q=&b;\\等价于p=&b
        **q=100;
    printf("%d\n",*p);
    printf("%d\n",a);
    return 0;
    
}
输出结果:
    100
    100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值