• 多级指针


    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>

    int main01()

    {

      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 ",**p);//1

    //二级指针加偏移量相当于跳过了一个一维数组大小

      printf("%d ",**(p+1));//4

    // 一级指针加偏移量相当于跳过了一个元素

      printf("%d ",*(*p+1));//2

      printf("%d ",*(*(p+1)+1))//5

        

      for(int i=0;i<3;i++)

      {

        for(int j=0;j<3;j++)

        {

          //1,2,3,4,5,6,7,8,9,10

          //printf("%d ",p[i][j]);

          //printf("%d ",*(p[i]+j))

          //printf("%d ",*(*(p+i)+j));

        }

        puts(""); 

      }

      return EXIT_SUCCESS;

    }

    int main02(void)

    {

      int a=10;

      int b=20;

      int*p=&a;

      int**pp=&p;

    //二级指针对应的野指针

      //pp=100;

      //*pp=100;

      //printf("%d ",*p);//10

      

    //二级指针pp加*等同一级指针,再回*等同于变量

      **pp=100;

      printf("%d ",*p);//100

      printf("%d ",a);//100

      

      return 0;

    }

    int main04(void)

    {

      int a=10;

      int b=20;

      int*p=&a;

      int**pp=&p;

      int***ppp=&pp;

      //*ppp==pp=&p;

      //**ppp=*pp=p==&a;

      //***ppp==**pp==*p==a;

      return 0;

    }

  • 相关阅读:
    1.6(设计模式)过滤器模式
    1.5(设计模式)单例模式
    1.4(设计模式)原型模式
    获取第几周
    前端的一个工具函数库
    纯css实现宽度自适应,高度与宽度成比例
    网站前面的图标
    从url获取参数有中文时会出现乱码的问题
    关于ios使用jquery的on,委托事件失效
    在vue1.0遇到vuex和v-model的坑
  • 原文地址:https://www.cnblogs.com/wanghong19991213/p/13563014.html
Copyright © 2020-2023  润新知